Efficiency Considerations of PERL and Python in Distributed Processing

Size: px
Start display at page:

Download "Efficiency Considerations of PERL and Python in Distributed Processing"

Transcription

1 Efficiency Considerations of PERL and Python in Distributed Processing Roger Eggen (presenter) Computer and Information Sciences University of North Florida Jacksonville, FL (fax) Maurice Eggen Department of Computer Science Trinity University San Antonio, TX (fax) Abstract: With the resurgence of interest in distributed processing and programming of distributed systems, researchers are exploring methods and techniques for facilitating programming of such systems. In this paper we demonstrate the ease of use and performance characteristics of socket communication for scripting languages PERL and Python. Productivity is enhanced when developing distributed applications while considering the performance tradeoffs incurred as compared to other popular languages. Keywords: PERL, Python, Java, Distributed and Parallel Processing 1 Introduction Distributed and parallel processing belong to one of the most important areas of research in our modern computing world. From the Web to large scale numerical algorithms, distributed and parallel methods dominate distributed processing applications. It is important for researchers and software engineers to have a wealth of tools available to them for programming such distributed systems. In this paper, we advocate the use of easy parallel algorithm development languages such as PERL and Python. We compare the speed and efficiency of these vehicles with Java, which is widely used for these applications. 2 Fundamentals A distributed system is a collection of independent computers interconnected by a network and capable of cooperating to achieve the solution of a problem. The computers are considered loosely coupled if they do not share memory and have individual processors. Important programming strides have been made in recent years to provide applications programming environments that make distributed computing more common and easier to implement than in the past. The message passing interface (MPI), parallel virtual machine (PVM), Common Object Request Broker Architecture (CORBA), Java s Remote Method Invocation (RMI), PERL s SOAP interface, and others have extended ordinary languages to provide methods (functions, procedures) facilitating distributed computing. PERL and Python are not often used in distributed applications, but these languages are extremely easy to program and have features that support parallel programming and Web interfaces rivaling any available language.

2 In this paper, we study the basis of all Web and distributed communication over a network, that of sockets. We compare the socket communication of PERL and Python to Java for ease of development and overall efficiency. 3 PERL PERL is an open source, cross-platform programming language capable of performing a wide variety of applications. The word PERL is an acronym for Practical Extraction and Report Language. Used in both the public and private sectors, PERL is supported by UNIX, Macintosh, Windows and many more operating systems. PERL comprises the best features of many languages, including C, awk, sed, sh and Basic. PERL works with HTML, XML, and other markup languages to support unicode and both procedural and object oriented paradigms. PERL is extensible. Because of its excellent text processing capabilities, PERL is perhaps the most widely used Web programming language. Applications written using the PERL language include, but are not limited to the following: Application servers Artificial intelligence algorithms Astronomy Audio Bioinformatics Compression and encryption Content management systems (for both small and large scale Web sites) Database interfaces Date/Time Processing ecommerce processing GUI development Generic algorithms Graphing and charting Image processing Mathematical and statistical programming Natural language processing (in English, Chinese, Japanese, and Finnish, among others) Network programming Operating-system integration with Windows, Solaris, Linux, Mac OS, etc. PERL/Apache integration Spam identification Software testing Templating systems Prototyping for fast development Text processing Web services, Web clients, and Web servers XML/HTML processing [1] The following code performs the socket communication in Perl: my $host2 = 'node2' my $port2 = 2008; my $protocol2 = getprotobyname('tcp'); socket(sock2,af_inet,sock_stream, $protocol1) my $dest_addr2 = sockaddr_in($port2,$host2); connect(sock2,$dest_addr2) print SOCK2 $x; 4. Python Python is an easy to learn, powerful programming language. Efficient highlevel data structures lead to a simple, but effective approach to object-oriented programming. Python's elegant syntax and dynamic typing together with its interpreted nature make it an ideal language for scripting and rapid application development in many areas and on most platforms.

3 The Python interpreter and the extensive standard library are freely available in source or binary form for all major platforms from the Python Web site. [2] The same site also contains distributions of and pointers to many free third party Python modules, programs and tools, and additional documentation. Python is object oriented with a class structure similar to Java. In many respects, Python has the best features of Java and avoids much of the clutter, particularly in the input/output category. Python supports multiple inheritance, polymorphism, and all the other features expected of an object oriented language. The Python interpreter is easily extended with new functions and data types implemented in C or C++ (or other languages callable from C). Python is also suitable as an extension language for customizable applications. [2] The following code performs the socket communication in Python: HOST = 'node2' # The remote host PORT = 5002 # port for server s = socket.socket(socket.af_inet,socket. SOCK_STREAM) s.connect((host, PORT)) st = a.tostring() s.send(st) Again, the communication using Python is easy and direct. 5 Hardware The hardware for evaluating socket efficiency consists of a Beowulf cluster of computers all running RedHat linux v9. The machines are 0.5 ghz machines with 512 megabytes of main memory connected by gigabit fast ethernet. 6 Software The software consists of Python 2.2.2, RedHat 9 Linux core , PERL installed with threading, and Java HotSpot 1.4.1_01. Only Linux machines were involved to remove discrepancies caused by different operating systems. 7 Programming a Distributed System Programming a distributed system, regardless of the programming environment used, involves several fundamentals. Typically, one of three scenarios are used: boss/worker where the boss distributes a portion of the work uniquely, worker crew where each processor does essentially the same processing on different portions of the data, often referred to as single instruction multiple data (SIMD), and a pipeline where each worker processes a portion of the data, passing that partial solution to the next worker. In this research we use the boss/worker environment as shown in Figure 1. A boss process defines the task to be accomplished and decides the method of distribution. Several worker processes do the actual work. The worker starts by listening to the socket for the arrival of work from the boss. The boss is the controlling process that has the responsibility of dividing the task appropriately. A portion of the task is sent to each of the workers. The boss waits to receive the completed tasks. Each of the workers execute in parallel. They each receive their task from the boss without interaction with other workers.

4 Worker Worker... Worker Figure 1 Communication Dependency 8 Evaluation Boss The purpose of this research is to determine how much a user gains (or gives up) to enjoy the ease of programming languages PERL and Python in distributed applications. We chose a simple sorting algorithm. Sorting is well understood and ubiquitous in computing, so it seemed a reasonable place to start. We programmed an n 2 sort so reasonable time would be taken on each of the server machines, creating a measure of both communication and computation times. Boss and workers are programmed using Java, PERL, and Python. Each application is implemented with exactly the same functionality. The boss machine creates sets of integers whose cardinality vary between 1,000 and 256,000. Each set was then evenly divided and distributed among the worker machines. Each worker sorted their portion of the data, yielding a highly parallel solution. The communication from boss to worker to boss was handled through native sockets. Sockets provide the foundation of all Web applications and consequently impact the performance of any Web based process. As is often the case, the boss did not participate in the primary task, but rather distributed the work and waited for results. Timings included dividing and distributing the data, sorting each data set, receiving the sorted results from each worker, and merging to arrive at a totally sorted set of data. 9 Results Datasets of sizes 1000, 2000, 4000, 8000, 16000, 32000, 64000, , and , were sorted and timed. Since the machines used in this experiment were not dedicated to the researchers, times were taken at 3:00AM when network traffic and users were at a minimum. These machines are lightly used, so unplanned impact on communication is virtually nonexistent. The authors have carefully checked the algorithms, each is correct and implemented in a consistent manner. The timing results are in Figure 2. We note that the efficiency of PERL is significantly less than that of Java. A variety of considerations were employed to increase PERL s efficiency, each with limited success. PERL ran 90% as fast as PERL 5.8.3, so one should certainly ensure the latest version of PERL is used. Also, threading is relatively new to PERL, only coming into existence in the 5.8.x versions. Threaded PERL runs 96% as fast as a non-threaded installation. In a distributed application, installation of a threaded version of PERL is essential. The PERL application can be compiled to native code using perlcc. Perlcc is in a nonstable state and should not be used for production applications, but it did generate native code. However, the native code executed only 92% as fast as the code directly interpreted. We expect

5 a significant increase in performance when perlcc is enhanced. The authors were surprised to see the performance comparison between Python, PERL, and Java. We expected Python to perform much better when compared to the other languages. A less defined measure is programmer productivity. We carefully monitored our development time for each of the applications. While this is somewhat arbitrary, ill defined, and rather qualitative, we believe our experience is suggestive of the nature one can expect when considering these environments. Upon evaluation of our respective experiences in each environment, we believe programmer time was most efficient in Python, Perl a close second, and development of the Java application approximately 30% longer. We realize this consideration is highly arbitrary, but believe programmer productivity is a significant factor in cost of application development. Processors Data Size PERL Python Java PERL Python Java PERL Python Java Figure 2 Efficiency Timings 10 Summary and Conclusions If the fastest application processing possible is the goal, PERL, Python, or Java would not be the choice. PVM or MPI with native routines will outperform all the above applications. However, when developer productivity, ease of programming, portability, and prototyping are desired, PERL and Python are viable alternatives. PERL and Python support a robust and convenient API for implementing distributed and Web based applications. There are many Web based applications programmed in PERL, since it is easy to implement. Java s socket communication is efficient, which accounts for some of its performance. Also, interpreting byte code is more efficient than pure interpretation. Note, each application scales appropriately with the size of the data set. 11 Future Research In JavaSpace s Linda-like environment, the efficiency in a non-reliable networking environment should be studied to determine the impact of a loaded network or failed processes. Part

6 of the advantages of JavaSpaces is its ability to recover from failure of processes, processors, or the network. PERL provides a SOAP-Lite Web based environment. Ease of programming and efficiency of applications development should be considered. 12 Bibliography [1] [2] [3] Wall, L., Christiansen, T., and Orwant, J. Programming Perl. O REILLY (2000). [4] Liu, M. Distributed Computing. Addison Wesley. Boston (2004). [5] Stein, L. Network Programming with Perl. Addison Wesley. Boston (2001). [6] Christiansen, T. and Torkington, N. Perl Cookbook. O REILLY. Sebastopol, CA.(1998). [7] Schwartz, R. Speeding up Your Perl Programs. Sys Admin CMP Media LLC. November 2003, pp

EFFICIENCY CONSIDERATIONS BETWEEN COMMON WEB APPLICATIONS USING THE SOAP PROTOCOL

EFFICIENCY CONSIDERATIONS BETWEEN COMMON WEB APPLICATIONS USING THE SOAP PROTOCOL EFFICIENCY CONSIDERATIONS BETWEEN COMMON WEB APPLICATIONS USING THE SOAP PROTOCOL Roger Eggen, Sanjay Ahuja, Paul Elliott Computer and Information Sciences University of North Florida Jacksonville, FL

More information

Efficiency of Web Based SAX XML Distributed Processing

Efficiency of Web Based SAX XML Distributed Processing Efficiency of Web Based SAX XML Distributed Processing R. Eggen Computer and Information Sciences Department University of North Florida Jacksonville, FL, USA A. Basic Computer and Information Sciences

More information

Virtual Credit Card Processing System

Virtual Credit Card Processing System The ITB Journal Volume 3 Issue 2 Article 2 2002 Virtual Credit Card Processing System Geraldine Gray Karen Church Tony Ayres Follow this and additional works at: http://arrow.dit.ie/itbj Part of the E-Commerce

More information

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Java has become enormously popular. Java s rapid rise and wide acceptance can be traced to its design

More information

Chapter 1. Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages

Chapter 1. Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages Chapter 1 CS-4337 Organization of Programming Languages Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705 Chapter 1 Topics Reasons for Studying Concepts of Programming

More information

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages ICOM 4036 Programming Languages Preliminaries Dr. Amirhossein Chinaei Dept. of Electrical & Computer Engineering UPRM Spring 2010 Language Evaluation Criteria Readability: the ease with which programs

More information

Load Balancing on a Non-dedicated Heterogeneous Network of Workstations

Load Balancing on a Non-dedicated Heterogeneous Network of Workstations Load Balancing on a Non-dedicated Heterogeneous Network of Workstations Dr. Maurice Eggen Nathan Franklin Department of Computer Science Trinity University San Antonio, Texas 78212 Dr. Roger Eggen Department

More information

Integrated Open-Source Geophysical Processing and Visualization

Integrated Open-Source Geophysical Processing and Visualization Integrated Open-Source Geophysical Processing and Visualization Glenn Chubak* University of Saskatchewan, Saskatoon, Saskatchewan, Canada gdc178@mail.usask.ca and Igor Morozov University of Saskatchewan,

More information

How To Install Linux Titan

How To Install Linux Titan Linux Titan Distribution Presented By: Adham Helal Amgad Madkour Ayman El Sayed Emad Zakaria What Is a Linux Distribution? What is a Linux Distribution? The distribution contains groups of packages and

More information

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson CS 3530 Operating Systems L02 OS Intro Part 1 Dr. Ken Hoganson Chapter 1 Basic Concepts of Operating Systems Computer Systems A computer system consists of two basic types of components: Hardware components,

More information

Building Applications Using Micro Focus COBOL

Building Applications Using Micro Focus COBOL Building Applications Using Micro Focus COBOL Abstract If you look through the Micro Focus COBOL documentation, you will see many different executable file types referenced: int, gnt, exe, dll and others.

More information

System Structures. Services Interface Structure

System Structures. Services Interface Structure System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface

More information

LinuxWorld Conference & Expo Server Farms and XML Web Services

LinuxWorld Conference & Expo Server Farms and XML Web Services LinuxWorld Conference & Expo Server Farms and XML Web Services Jorgen Thelin, CapeConnect Chief Architect PJ Murray, Product Manager Cape Clear Software Objectives What aspects must a developer be aware

More information

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE Gonzalo Garcia VP of Operations, USA Property of GMV All rights reserved INTRODUCTION Property of GMV All rights reserved INTRODUCTION

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

1. Overview of the Java Language

1. Overview of the Java Language 1. Overview of the Java Language What Is the Java Technology? Java technology is: A programming language A development environment An application environment A deployment environment It is similar in syntax

More information

1/20/2016 INTRODUCTION

1/20/2016 INTRODUCTION INTRODUCTION 1 Programming languages have common concepts that are seen in all languages This course will discuss and illustrate these common concepts: Syntax Names Types Semantics Memory Management We

More information

Virtual Machines. www.viplavkambli.com

Virtual Machines. www.viplavkambli.com 1 Virtual Machines A virtual machine (VM) is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software

More information

PARALLEL & CLUSTER COMPUTING CS 6260 PROFESSOR: ELISE DE DONCKER BY: LINA HUSSEIN

PARALLEL & CLUSTER COMPUTING CS 6260 PROFESSOR: ELISE DE DONCKER BY: LINA HUSSEIN 1 PARALLEL & CLUSTER COMPUTING CS 6260 PROFESSOR: ELISE DE DONCKER BY: LINA HUSSEIN Introduction What is cluster computing? Classification of Cluster Computing Technologies: Beowulf cluster Construction

More information

Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server

Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server Hardware Windows Windows NT 4.0 Linux Server Software and

More information

GenericServ, a Generic Server for Web Application Development

GenericServ, a Generic Server for Web Application Development EurAsia-ICT 2002, Shiraz-Iran, 29-31 Oct. GenericServ, a Generic Server for Web Application Development Samar TAWBI PHD student tawbi@irit.fr Bilal CHEBARO Assistant professor bchebaro@ul.edu.lb Abstract

More information

Chapter 1 - Web Server Management and Cluster Topology

Chapter 1 - Web Server Management and Cluster Topology Objectives At the end of this chapter, participants will be able to understand: Web server management options provided by Network Deployment Clustered Application Servers Cluster creation and management

More information

Detailed Design Report

Detailed Design Report Detailed Design Report Chapter 9 Control System MAX IV Facility CHAPTER 9.0. CONTROL SYSTEM 1(9) 9. Control System 9.1. Introduction...2 9.1.1. Requirements... 2 9.2. Design...3 9.2.1. Guidelines... 3

More information

Programming Languages

Programming Languages Programming Languages Qing Yi Course web site: www.cs.utsa.edu/~qingyi/cs3723 cs3723 1 A little about myself Qing Yi Ph.D. Rice University, USA. Assistant Professor, Department of Computer Science Office:

More information

CatDV Pro Workgroup Serve r

CatDV Pro Workgroup Serve r Architectural Overview CatDV Pro Workgroup Server Square Box Systems Ltd May 2003 The CatDV Pro client application is a standalone desktop application, providing video logging and media cataloging capability

More information

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation. NETWORK OPERATING SYSTEM Introduction Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation. Network operating

More information

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference

More information

Software: Systems and. Application Software. Software and Hardware. Types of Software. Software can represent 75% or more of the total cost of an IS.

Software: Systems and. Application Software. Software and Hardware. Types of Software. Software can represent 75% or more of the total cost of an IS. C H A P T E R 4 Software: Systems and Application Software Software and Hardware Software can represent 75% or more of the total cost of an IS. Less costly hdwr. More complex sftwr. Expensive developers

More information

Chapter 3.2 C++, Java, and Scripting Languages. The major programming languages used in game development.

Chapter 3.2 C++, Java, and Scripting Languages. The major programming languages used in game development. Chapter 3.2 C++, Java, and Scripting Languages The major programming languages used in game development. C++ C used to be the most popular language for games Today, C++ is the language of choice for game

More information

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023 Operating Systems Autumn 2013 Outline 1 2 Types of 2.4, SGG The OS Kernel The kernel is the central component of an OS It has complete control over everything that occurs in the system Kernel overview

More information

Extending Desktop Applications to the Web

Extending Desktop Applications to the Web Extending Desktop Applications to the Web Arno Puder San Francisco State University Computer Science Department 1600 Holloway Avenue San Francisco, CA 94132 arno@sfsu.edu Abstract. Web applications have

More information

Content Distribution Management

Content Distribution Management Digitizing the Olympics was truly one of the most ambitious media projects in history, and we could not have done it without Signiant. We used Signiant CDM to automate 54 different workflows between 11

More information

DIABLO VALLEY COLLEGE CATALOG 2014-2015

DIABLO VALLEY COLLEGE CATALOG 2014-2015 COMPUTER SCIENCE COMSC The computer science department offers courses in three general areas, each targeted to serve students with specific needs: 1. General education students seeking a computer literacy

More information

What is a programming language?

What is a programming language? Overview Introduction Motivation Why study programming languages? Some key concepts What is a programming language? Artificial language" Computers" Programs" Syntax" Semantics" What is a programming language?...there

More information

The power of IBM SPSS Statistics and R together

The power of IBM SPSS Statistics and R together IBM Software Business Analytics SPSS Statistics The power of IBM SPSS Statistics and R together 2 Business Analytics Contents 2 Executive summary 2 Why integrate SPSS Statistics and R? 4 Integrating R

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

Java the UML Way: Integrating Object-Oriented Design and Programming

Java the UML Way: Integrating Object-Oriented Design and Programming Java the UML Way: Integrating Object-Oriented Design and Programming by Else Lervik and Vegard B. Havdal ISBN 0-470-84386-1 John Wiley & Sons, Ltd. Table of Contents Preface xi 1 Introduction 1 1.1 Preliminaries

More information

Development of complex KNX Devices

Development of complex KNX Devices WEINZIERL ENGINEERING GmbH WEINZIERL ENGINEERING GMBH Jason Richards 84558 Tyrlaching GERMANY Phone +49 (0) 8623 / 987 98-03 Web: www.weinzierl.de Development of complex KNX Devices Abstract The KNX World

More information

RevoScaleR Speed and Scalability

RevoScaleR Speed and Scalability EXECUTIVE WHITE PAPER RevoScaleR Speed and Scalability By Lee Edlefsen Ph.D., Chief Scientist, Revolution Analytics Abstract RevoScaleR, the Big Data predictive analytics library included with Revolution

More information

Evaluation of Load/Stress tools for Web Applications testing

Evaluation of Load/Stress tools for Web Applications testing May 14, 2008 Whitepaper Evaluation of Load/Stress tools for Web Applications testing CONTACT INFORMATION: phone: +1.301.527.1629 fax: +1.301.527.1690 email: whitepaper@hsc.com web: www.hsc.com PROPRIETARY

More information

PIE. Internal Structure

PIE. Internal Structure PIE Internal Structure PIE Composition PIE (Processware Integration Environment) is a set of programs for integration of heterogeneous applications. The final set depends on the purposes of a solution

More information

Software Development around a Millisecond

Software Development around a Millisecond Introduction Software Development around a Millisecond Geoffrey Fox In this column we consider software development methodologies with some emphasis on those relevant for large scale scientific computing.

More information

Document management and exchange system supporting education process

Document management and exchange system supporting education process Document management and exchange system supporting education process Emil Egredzija, Bozidar Kovacic Information system development department, Information Technology Institute City of Rijeka Korzo 16,

More information

Software: Systems and Application Software

Software: Systems and Application Software Software: Systems and Application Software Computer Software Operating System Popular Operating Systems Language Translators Utility Programs Applications Programs Types of Application Software Personal

More information

VMware Virtualization and Software Development

VMware Virtualization and Software Development VMware Virtualization and Software Development 1 VMware Virtualization and Software Development Mark Cloutier Undergraduate Student, Applied Math and Computer Science Keywords: Virtualization, VMware,

More information

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont. Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures

More information

COMP[29]041 - Software Construction 15s2. Course Goals. Course Goals. 41 Introduction 15s2]COMP[29]041 Introduction 15s2

COMP[29]041 - Software Construction 15s2. Course Goals. Course Goals. 41 Introduction 15s2]COMP[29]041 Introduction 15s2 41 Introduction 15s2]COMP[29]041 Introduction 15s2 COMP[29]041 - Software Construction 15s2 Lecturer/Admin:, andrewt@cse.unsw.edu.au http://www.cse.unsw.edu.au/ cs2041/ Course Goals Course Goals Overview:

More information

Real time vehicle tracking and driver behaviour monitoring using cellular handset based accelerometer and GPS data

Real time vehicle tracking and driver behaviour monitoring using cellular handset based accelerometer and GPS data Real time vehicle tracking and driver behaviour monitoring using cellular handset based accelerometer and GPS data 4 th Year Electronic and Computing Project Report 05416361 Supervisor: Mr Liam Kilmartin

More information

Universidad Simón Bolívar

Universidad Simón Bolívar Cardinale, Yudith Figueira, Carlos Hernández, Emilio Baquero, Eduardo Berbín, Luis Bouza, Roberto Gamess, Eric García, Pedro Universidad Simón Bolívar In 1999, a couple of projects from USB received funding

More information

Reusability of WSDL Services in Web Applications

Reusability of WSDL Services in Web Applications 599 Reusability of WSDL Services in Web Applications 1 Jaspreet Singh, 2 Sandeep Saini 1 Assistant Professor Department Of Computer Science & Engineering, Chandigarh University Gharuan, Punjab, India 2

More information

Department of Computer Science

Department of Computer Science Department of Computer Science Ali Sekmen, PhD 2, Chair 005, McCord Hall 615-963-5712 Faculty: K. Al Nasr, W. Chen, E. Erdemir, M. Hayes, H. Miao, T. Rogers, G. Shao, F. Yao General Statement: The Department

More information

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent

More information

Managing a Fibre Channel Storage Area Network

Managing a Fibre Channel Storage Area Network Managing a Fibre Channel Storage Area Network Storage Network Management Working Group for Fibre Channel (SNMWG-FC) November 20, 1998 Editor: Steven Wilson Abstract This white paper describes the typical

More information

Scalability and Classifications

Scalability and Classifications Scalability and Classifications 1 Types of Parallel Computers MIMD and SIMD classifications shared and distributed memory multicomputers distributed shared memory computers 2 Network Topologies static

More information

Research and Design of Universal and Open Software Development Platform for Digital Home

Research and Design of Universal and Open Software Development Platform for Digital Home Research and Design of Universal and Open Software Development Platform for Digital Home CaiFeng Cao School of Computer Wuyi University, Jiangmen 529020, China cfcao@126.com Abstract. With the development

More information

Master of Science in Software Engineering (MSC)

Master of Science in Software Engineering (MSC) Master of Science in Software Engineering The MSc in Software Engineering provides a thorough grounding in how to apply rigorous engineering principles to deliver elegant, effective software solutions

More information

OpenFlow Based Load Balancing

OpenFlow Based Load Balancing OpenFlow Based Load Balancing Hardeep Uppal and Dane Brandon University of Washington CSE561: Networking Project Report Abstract: In today s high-traffic internet, it is often desirable to have multiple

More information

ADESSO SCIENTIFIC SOFTWARE DEVELOPMENT ENVIRONMENT

ADESSO SCIENTIFIC SOFTWARE DEVELOPMENT ENVIRONMENT ADESSO SCIENTIFIC SOFTWARE DEVELOPMENT ENVIRONMENT Rubens C. Machado 1, Roberto de A. Lotufo 2, Alexandre G. Silva 2 and André V. Saúde 1,2 1 Renato Archer Research Center, P.O.Box 6162, 13089-120, Campinas,

More information

OKLAHOMA SUBJECT AREA TESTS (OSAT )

OKLAHOMA SUBJECT AREA TESTS (OSAT ) CERTIFICATION EXAMINATIONS FOR OKLAHOMA EDUCATORS (CEOE ) OKLAHOMA SUBJECT AREA TESTS (OSAT ) FIELD 081: COMPUTER SCIENCE September 2008 Subarea Range of Competencies I. Computer Use in Educational Environments

More information

Using the Windows Cluster

Using the Windows Cluster Using the Windows Cluster Christian Terboven terboven@rz.rwth aachen.de Center for Computing and Communication RWTH Aachen University Windows HPC 2008 (II) September 17, RWTH Aachen Agenda o Windows Cluster

More information

Remote Data Collection and Analysis Tom Worlton Argonne National Laboratory

Remote Data Collection and Analysis Tom Worlton Argonne National Laboratory 1. Introduction ICANS XIV 14 Meeting of the International Collaboration on Advanced Neutron Sources June 14-19,1998 Starved Rock Lodge, Utica, IL Remote Data Collection and Analysis Tom Worlton Argonne

More information

Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design

Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design Java in Education Introduction Choosing appropriate tool for creating multimedia is the first step in multimedia design and production. Various tools that are used by educators, designers and programmers

More information

Semester Thesis Traffic Monitoring in Sensor Networks

Semester Thesis Traffic Monitoring in Sensor Networks Semester Thesis Traffic Monitoring in Sensor Networks Raphael Schmid Departments of Computer Science and Information Technology and Electrical Engineering, ETH Zurich Summer Term 2006 Supervisors: Nicolas

More information

Overlapping Data Transfer With Application Execution on Clusters

Overlapping Data Transfer With Application Execution on Clusters Overlapping Data Transfer With Application Execution on Clusters Karen L. Reid and Michael Stumm reid@cs.toronto.edu stumm@eecg.toronto.edu Department of Computer Science Department of Electrical and Computer

More information

Protect Your Cisco UCS Domain with Symantec NetBackup

Protect Your Cisco UCS Domain with Symantec NetBackup SYMANTEC NETBACKUP WHITEPAPER PROTECTING A CISCO UCS DOMAIN White Paper Protect Your Cisco UCS Domain with Symantec NetBackup August 2014 This document is provided for informational purposes only. All

More information

School of Computer Science

School of Computer Science School of Computer Science Computer Science - Honours Level - 2014/15 October 2014 General degree students wishing to enter 3000- level modules and non- graduating students wishing to enter 3000- level

More information

In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal

In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal Paper Title: Generic Framework for Video Analysis Authors: Luís Filipe Tavares INESC Porto lft@inescporto.pt Luís Teixeira INESC Porto, Universidade Católica Portuguesa lmt@inescporto.pt Luís Corte-Real

More information

OVERVIEW. CEP Cluster Server is Ideal For: First-time users who want to make applications highly available

OVERVIEW. CEP Cluster Server is Ideal For: First-time users who want to make applications highly available Phone: (603)883-7979 sales@cepoint.com Cepoint Cluster Server CEP Cluster Server turnkey system. ENTERPRISE HIGH AVAILABILITY, High performance and very reliable Super Computing Solution for heterogeneous

More information

REVIEW PAPER ON PERFORMANCE OF RESTFUL WEB SERVICES

REVIEW PAPER ON PERFORMANCE OF RESTFUL WEB SERVICES REVIEW PAPER ON PERFORMANCE OF RESTFUL WEB SERVICES Miss.Monali K.Narse 1,Chaitali S.Suratkar 2, Isha M.Shirbhate 3 1 B.E, I.T, JDIET, Yavatmal, Maharashtra, India, monalinarse9990@gmail.com 2 Assistant

More information

LONDON SCHOOL OF COMMERCE. Programme Specification for the. Cardiff Metropolitan University. BSc (Hons) in Computing

LONDON SCHOOL OF COMMERCE. Programme Specification for the. Cardiff Metropolitan University. BSc (Hons) in Computing LONDON SCHOOL OF COMMERCE Programme Specification for the Cardiff Metropolitan University BSc (Hons) in Computing Contents Programme Aims and Objectives Programme Structure Programme Outcomes Mapping of

More information

Performance Monitoring and Analysis System for MUSCLE-based Applications

Performance Monitoring and Analysis System for MUSCLE-based Applications Polish Infrastructure for Supporting Computational Science in the European Research Space Performance Monitoring and Analysis System for MUSCLE-based Applications W. Funika, M. Janczykowski, K. Jopek,

More information

Classic Grid Architecture

Classic Grid Architecture Peer-to to-peer Grids Classic Grid Architecture Resources Database Database Netsolve Collaboration Composition Content Access Computing Security Middle Tier Brokers Service Providers Middle Tier becomes

More information

Chapter 14 Analyzing Network Traffic. Ed Crowley

Chapter 14 Analyzing Network Traffic. Ed Crowley Chapter 14 Analyzing Network Traffic Ed Crowley 10 Topics Finding Network Based Evidence Network Analysis Tools Ethereal Reassembling Sessions Using Wireshark Network Monitoring Intro Once full content

More information

JAVA Technologies QUARTER 1 DESKTOP APPLICATIONS - ESSENTIALS QUARTER 2 NETWORKING AND OPERATING SYSTEMS ESSENTIALS. Module 1 - Office Applications

JAVA Technologies QUARTER 1 DESKTOP APPLICATIONS - ESSENTIALS QUARTER 2 NETWORKING AND OPERATING SYSTEMS ESSENTIALS. Module 1 - Office Applications SOFTWARE ENGINEERING TRACK JAVA Technologies QUARTER 1 DESKTOP APPLICATIONS - ESSENTIALS Module 1 - Office Applications This subject enables users to acquire the necessary knowledge and skills to use Office

More information

B) Using Processor-Cache Affinity Information in Shared Memory Multiprocessor Scheduling

B) Using Processor-Cache Affinity Information in Shared Memory Multiprocessor Scheduling A) Recovery Management in Quicksilver 1) What role does the Transaction manager play in the recovery management? It manages commit coordination by communicating with servers at its own node and with transaction

More information

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service Achieving Scalability and High Availability Abstract DB2 Connect Enterprise Edition for Windows NT provides fast and robust connectivity

More information

An Easier Way for Cross-Platform Data Acquisition Application Development

An Easier Way for Cross-Platform Data Acquisition Application Development An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers

More information

Chapter 2 System Structures

Chapter 2 System Structures Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices

More information

Reference Guide WindSpring Data Management Technology (DMT) Solving Today s Storage Optimization Challenges

Reference Guide WindSpring Data Management Technology (DMT) Solving Today s Storage Optimization Challenges Reference Guide WindSpring Data Management Technology (DMT) Solving Today s Storage Optimization Challenges September 2011 Table of Contents The Enterprise and Mobile Storage Landscapes... 3 Increased

More information

Cluster, Grid, Cloud Concepts

Cluster, Grid, Cloud Concepts Cluster, Grid, Cloud Concepts Kalaiselvan.K Contents Section 1: Cluster Section 2: Grid Section 3: Cloud Cluster An Overview Need for a Cluster Cluster categorizations A computer cluster is a group of

More information

A REVIEW PAPER ON THE HADOOP DISTRIBUTED FILE SYSTEM

A REVIEW PAPER ON THE HADOOP DISTRIBUTED FILE SYSTEM A REVIEW PAPER ON THE HADOOP DISTRIBUTED FILE SYSTEM Sneha D.Borkar 1, Prof.Chaitali S.Surtakar 2 Student of B.E., Information Technology, J.D.I.E.T, sborkar95@gmail.com Assistant Professor, Information

More information

i.sight ecommerce system

i.sight ecommerce system i.sight ecommerce system Product Brochure open your eyes on the Internet i.sight ecommerce system is presented to you by IPOS Computer Systems Ltd. For Inquiry, please go to our web site http://www.iposcsl.com

More information

Masters in Human Computer Interaction

Masters in Human Computer Interaction Masters in Human Computer Interaction Programme Requirements Taught Element, and PG Diploma in Human Computer Interaction: 120 credits: IS5101 CS5001 CS5040 CS5041 CS5042 or CS5044 up to 30 credits from

More information

Industrial Network Security and Connectivity. Tunneling Process Data Securely Through Firewalls. A Solution To OPC - DCOM Connectivity

Industrial Network Security and Connectivity. Tunneling Process Data Securely Through Firewalls. A Solution To OPC - DCOM Connectivity Industrial Network Security and Connectivity Tunneling Process Data Securely Through Firewalls A Solution To OPC - DCOM Connectivity Manufacturing companies have invested billions of dollars in industrial

More information

Risks with web programming technologies. Steve Branigan Lucent Technologies

Risks with web programming technologies. Steve Branigan Lucent Technologies Risks with web programming technologies Steve Branigan Lucent Technologies Risks with web programming technologies Abstract Java applets and their kind are bringing new life to the World Wide Web. Through

More information

Object Oriented Database Management System for Decision Support System.

Object Oriented Database Management System for Decision Support System. International Refereed Journal of Engineering and Science (IRJES) ISSN (Online) 2319-183X, (Print) 2319-1821 Volume 3, Issue 6 (June 2014), PP.55-59 Object Oriented Database Management System for Decision

More information

Building an efficient and inexpensive PACS system. OsiriX - dcm4chee - JPEG2000

Building an efficient and inexpensive PACS system. OsiriX - dcm4chee - JPEG2000 Building an efficient and inexpensive PACS system OsiriX - dcm4chee - JPEG2000 The latest version of OsiriX greatly improves compressed DICOM support, specifically JPEG2000 1 support. In this paper, we

More information

An Open MPI-based Cloud Computing Service Architecture

An Open MPI-based Cloud Computing Service Architecture An Open MPI-based Cloud Computing Service Architecture WEI-MIN JENG and HSIEH-CHE TSAI Department of Computer Science Information Management Soochow University Taipei, Taiwan {wjeng, 00356001}@csim.scu.edu.tw

More information

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Client/Server Computing Distributed Processing, Client/Server, and Clusters Client/Server Computing Distributed Processing, Client/Server, and Clusters Chapter 13 Client machines are generally single-user PCs or workstations that provide a highly userfriendly interface to the

More information

Chapter 12 Programming Concepts and Languages

Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution

More information

RCL: Software Prototype

RCL: Software Prototype Business Continuity as a Service ICT FP7-609828 RCL: Software Prototype D3.2.1 June 2014 Document Information Scheduled delivery 30.06.2014 Actual delivery 30.06.2014 Version 1.0 Responsible Partner IBM

More information

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE

More information

Masters in Networks and Distributed Systems

Masters in Networks and Distributed Systems Masters in Networks and Distributed Systems Programme Requirements Taught Element, and PG Diploma in Networks and Distributed Systems: 120 credits: IS5101 CS5001 CS5021 CS4103 or CS5023 in total, up to

More information

Design and Implementation of an Intelligent Network Monitoring and Management Tool in Internet and Intranet

Design and Implementation of an Intelligent Network Monitoring and Management Tool in Internet and Intranet International Journal of Electronic and Electrical Engineering. ISSN 0974-2174 Volume 5, Number 2 (2012), pp. 83-89 International Research Publication House http://www.irphouse.com Design and Implementation

More information

Web Analytics Understand your web visitors without web logs or page tags and keep all your data inside your firewall.

Web Analytics Understand your web visitors without web logs or page tags and keep all your data inside your firewall. Web Analytics Understand your web visitors without web logs or page tags and keep all your data inside your firewall. 5401 Butler Street, Suite 200 Pittsburgh, PA 15201 +1 (412) 408 3167 www.metronomelabs.com

More information

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself How do Users and Processes interact with the Operating System? Users interact indirectly through a collection of system programs that make up the operating system interface. The interface could be: A GUI,

More information

Automatic Configuration and Service Discovery for Networked Smart Devices

Automatic Configuration and Service Discovery for Networked Smart Devices Automatic Configuration and Service Discovery for Networked Smart Devices Günter Obiltschnig Applied Informatics Software Engineering GmbH St. Peter 33 9184 St. Jakob im Rosental Austria Tel: +43 4253

More information

A standards-based approach to application integration

A standards-based approach to application integration A standards-based approach to application integration An introduction to IBM s WebSphere ESB product Jim MacNair Senior Consulting IT Specialist Macnair@us.ibm.com Copyright IBM Corporation 2005. All rights

More information

Layering a computing infrastructure. Middleware. The new infrastructure: middleware. Spanning layer. Middleware objectives. The new infrastructure

Layering a computing infrastructure. Middleware. The new infrastructure: middleware. Spanning layer. Middleware objectives. The new infrastructure University of California at Berkeley School of Information Management and Systems Information Systems 206 Distributed Computing Applications and Infrastructure Layering a computing infrastructure Middleware

More information

Introduction to grid technologies, parallel and cloud computing. Alaa Osama Allam Saida Saad Mohamed Mohamed Ibrahim Gaber

Introduction to grid technologies, parallel and cloud computing. Alaa Osama Allam Saida Saad Mohamed Mohamed Ibrahim Gaber Introduction to grid technologies, parallel and cloud computing Alaa Osama Allam Saida Saad Mohamed Mohamed Ibrahim Gaber OUTLINES Grid Computing Parallel programming technologies (MPI- Open MP-Cuda )

More information