The D-Box coordinational language and the run-time system

Size: px
Start display at page:

Download "The D-Box coordinational language and the run-time system"

Transcription

1 The D-Box coordinational language and the run-time system Support for distribute development in Clean functional language Hernyák Zoltán Main results of the PhD dissertation 2009 Advisor: Dr. Horváth Zoltán, professor Eötvös Lóránd University, Faculty of Informatics H-1117 Budapes, Pázmány Péter sétány 1/C. PhD School of Eötvös Lóránd University, Faculty of Informatics PhD Programm: The foundations of and methodologies in informatics Leader of the PhD School and that of the PhD programme: Dr. Demetrovics János (Full Member of the Hungarian Academy of Sciences)

2

3 Introduction The present thesis deals with a coordination language that supports the distributed evaluation of a Clean programme, and its run-time system. The D-Clean higher abstraction coordination language primitives designed for the Clean functional language will be translated into these lower-level D-Box coordination language definitions, on which the concepts channel, box, protocol are defined. The primary coordination element is the box, that contains a computation task - that can be a function or an expression - formulated on Clean language. Parameters required by this expression are carried by typed channels from other boxes; these are capable of minimal buffering as well. On the other hand it supports the add and remove operations known from the queue data structure. The channels are read by a protocol expression that hides the details of channelhandling from the Clean language expression. The protocol expression is able to perform basic transformations on the data coming through the channels - e.g. construct a list from them. The expression processes the data received from the protocol, then it computes the result. The results are given to an output protocol, that will transmit those to the outgoing channels. The input and output channels of the boxes are connected. The nod elements of the computation graph are the boxes, the edges are the channels. The topic of the dissertation is the syntax and semantics of the coordination language describing this graph. Aims 1. To create a coordination language that supports the distributed functional programming in its operation. This should support the D-Clean higher abstraction coordination language and should be suitable for developing distributed programming solutions on a functional programming language. To work out the syntactic and static semantic rules of the coordination language, on the basis of which the D-Box language descriptions can be processed and checked. 2. To give the specifications connected to the operation of the coordination language, that can be the basis of creating a code-generating tool. To apply external pattern 1

4 files during code-generation, that can be worked out in case of other platform, middleware as well. The code generating tool should parameter the patterns with types, and to create a Clean language source code. To work out the macros applied by the code-generating tool, and with the help of which the patterns can be created. To create concrete pattern files, with the help of which a code can be generated in case of some operation system and middleware. 3. To create the run-time system completing the services of the middleware, the informal syntactic and semantic description of the functions of API. These functions can be referred to in the pattern files. This system should be suitable for preparing the running of projects generated on the basis of D-Box language description, and to support it during running. 4. To test the environment created previously, to run concrete distributed computational tasks, to measure effectiveness, performance. Antecedents of topic choice In the first phase of my research I have dealt with the MPI/PVM programme libraries under linux, using message passing communication method. However the complexity, weak typedness of C, C++ programming languages, is not a favorable environment for preparing distributed programmes, not to mention its cumbersome debugging and tracking methods. Later, based on the possibilities offered by the.net Framework I have prepared an implementation built on similar guidelines, for an O.O.P. platform, in C# language. The implementation was worked out on a pure C# language, and the communication was assured by a low-level socket handling, but in essence it was a class-collection furnished with communication-supporting methods. I have prepared a simple run-time system to it, and this was later the basis of the D-Box run-time system discussed in the present thesis. The Clean functional programming language, due to its many characteristics, is an attractive programming platform. Unfortunately the Clean does not support the distributed running at the moment. It seemed necessary to develop a higher-level process-description and coordination system. To serve this aim, Zsók Viktória, the researcher of ELTE, has designed the D-Clean language with the help of which communication could be described by means similar to functional language expressions. I have joined the research at that point. The design of D-Box language was a cooperation. In this research I have prepared the D-Clean translator, the syntax and semantics of D-Box language, the D-Box code-generating, run-time system I have also implemented 2

5 the vast majority of D-Box pattern files. It was also me who have prepared an earlier implementation of D-Box protocol templates, that had to be reconsidered due to the SplitF protocol introduced later. The present protocol implementations in Clean language were prepared by a researcher from ELTE, Diviánszky Péter. According to our solution, the functions created by the user do not have to contain any information related to communication or the run-time system. The generated code completely hides this from the Clean functions. This way the development and testing of the functions under traditional environments, and its transfer to the distributed environment without any altering becomes possible. Antecedents of the research topic From among the functional programming languages the Concurrent Haskell possessing a parallel evaluation system was studied. The JoCaml language is the supplement of the Objective Caml language with the help of the join calculus, and it has a specifically parallel and distributed development support. It knows the concept of channel and abstract place. Communication among the processes are done through channels. The ERLANG makes the creation of concurrent, real-time, distributed and problemtolerating systems. The language possesses inbuilt means on the domain of distributing and message transmission, it fulfils the distribute without a common memory area, through sending messages. The Hume is a strongly typed, functionally founded programming language, its primary priority is to check the limitedness of running time and use of resource. It applies an asynchronous communication model, the basic element of which is the box. The boxes have unique identifiers, the in- and outgoing data are typed. The boxes can be connected, the description of which happens separate from the definitions - during this it will be checked whether the connection type is correct. The boxes can be connected through devices (stream, port, etc.) as well. The boxes can might as well be connected to themselves, forming a one-element loop. Connection among the boxes can be called wires. Starting values can be placed on the wires, that are useful in case of creating the loops. To the Eden functional programming language Jost Berthold has created an implementation language called EdI, in which he defined channel-creating and data-sending primitives. Due to the lazy evaluation of the Eden, he has defined evaluation strategies, that can force the computing (and sending) of the value on the sending side. Through completing the ObjectIO library developed for the Clean functional programming language interactive programmes can be developed, that contain a menu and dialog windows. The unique type makes it possible to handle resources from a pure functional approach. A such kind of unique type value can not be duplicated. 3

6 The porting of ObjectIO in a Linux environment is not complete, so it can not be built upon in heterogeneous systems. The Concurrent Clean was a purely functional, strongly type language, that supported parallel and distributed evaluations as well. Unfortunately this extension of the language could not keep pace with the language versions, its development has stopped. In the early phase of Clean there also was a transputer supported language version. With the help of annotations it was possible to set the parts of the expression that can be evaluated in a parallel way. The paralleling strategies were based on these annotations, with their help it was possible to set an evaluation order. Applied methods The syntax of the D-Box coordination language is set by EBNF description and lex + yacc definitions as well. The rules essential to the analysis of the static syntactic properness were formerly described. The operation of the D-Box protocols was specified. The operation of the run-time system was given in the form of a natural operational semantics. The created D-Box lexical and semantic analyzer is a programme generated not on the basis of BNF, written on C language. A C++, C, Clean language codes are read, parametered from external pattern files, on the basis of information included in D-Box definitions. This is solved with the help of macros built into the pattern files. The Start expression of the boxes is created by the D-Box on the basis of code-generating non-patterns - the code strongly dependent on the applied protocol and channels is generated immediately by the translator. The syntactic properness of the structure built up from lexical elements is checked by a not purely LALR(1) syntactic analyzer. The attached static semantic analyzer operates in a separate run, similar to the code-generating run. We do not perform code-optimizing steps, as it is not important in the code of the channels, the code of the boxes is generated in Clean language, and the code-optimization is done by the Clean translator and lazy evaluation system. The inter-layer services of the running system are extended by special services essential to the running of the project. ICE functions are called from the Clean code through interfaces. The source of the interface is in the pattern files as well. Proposition 1. The syntax and static semantics of D-Box language I have created a coordination language through which a kind of computing graph can be defined in which applications written on a Clean functional programming language are 4

7 running on the computing nodes. The coordination language supports special language elements as well, such as the *World type restorable value. These value types can not be carried through channels, a replacing value can be generated on the host side. The syntax was given in an EBNF form and in a form that can be processed by lexer and yacc. During the static semantic check the channels of the box and the applied input protocol; the output protocol and the output channels were checking. It was analyzed, whether the protocol was able to create the input parameters of the applied expression, and whether it is able to handle the output values. Furthermore it was analyzed whether each input and output channel is used only once and whether the dynamic sub-graph startups can be fulfilled during running. Above all these it was also analyzed, whether the communication between the boxes is closed concerning the sub-graph. Proposition 2. Specification of D-Box language primitives I have introduced the syntactical and static semantic rules of the coordination language, on the grounds of which I have created an operating syntactical checking programme. Based on the Windows operation system the ICE middleware a template collection was also created and attached to the thesis as a DVD supplement. The names of template files and the library structure was put into a XML configuration file on the basis of which the code generating phase is more easy to parameter. The specification of the coordination language discusses the operation of protocols, the serialization of more difficult structures, lists, lists of lists, and the steps of writing on a channel. We have given the reading of channels, the de-serialization of a symbolserial arriving on the channel, the specification related to the compilation of protocol results. The operation of the input and the output protocols was precisely defined this way. The operation of the protocols is based on the lazy evaluation of Clean language, instead of the parallel way. The processing starts with the output protocol, that causes the evaluation of the expression. The expression takes away the incoming data from the input protocol in a lazy way, this way causes the implicit reading of input channels. The generated data are put on the channels by the output protocol. The D-Box translator takes the definitions describing the computation graph either from a file, or directly from the D-Clean translator. The latter is the result of the integration of the two translators. After the evaluation of D-Box definitions and their static semantic check a resource code was generated on the basis of the pattern files. For the support of code-generation, macros were developed, the description of which are included in the 5

8 attachment of the present thesis. The Clean Start function of the generated computation nodes (box) are created on the basis of non-patterns by the translator, as basically its every line is up to the type, number of applied channels, and the protocol. We use the C++ linker - as we could not apply the Clean linker to the task. C++ language object files are also attached to the codes of the box during the linking. Proposition 3. Formal semantics and implementation of the run-time system The thesis describes the state of the run-time system and the operational semantics. During the running, from a starting state boxes forming the spine of the project are launched, and the channel starting commands are processed. In the meantime new boxes are dynamically started and new channel starting commands can be part of the system. In the project finish state the start of every box is finished and every channel start command was fulfilled. The run-time system places the generated binary code into a code library service, on the basis of which the project can be started. During this, the system first instantiate the boxes belonging to the beginning sub-graph. After their starting, the boxes can ask for the starting of channels and the instantiate of boxes belonging to further sub-graphs. A name provider ensures the meeting of running components. The run-time system contains a scheduler, that defines which component should be put on which concrete computer. Proposition 4. Verification of the applicable of the D-Box system on a problem class Translation, code generation and running was checked through fulfilling a real-life, computation-intensive problem. Measures and charts related to the distributed running of the application prove that the generated code is effective in this problem class. The running time of the distributed case using 4, 8, 16 nodes, cutting point alteration, operational complication approximated to the expected maximal speed-up value. 6

9 Bibliography [1] William Gropp, Ewing Lusk, Anthony Skjellum: Using MPI - Portable Parallel Programming with Message-Passing Interface MIT Press, 1999 [2] Al Geist, Adam Beguelin, Jack Dongarra, Weicheng Jiang, Robert Manchek,Vaidy Sunderam: PVM: Parallel Virtual Machine A Users Guide and Tutorial for Networked Parallel Computing, MIT Press, 1994, book/pvm-book.html [3] Kevin Hammond, Greg Michaelson, Robert Pointon: The Hume Report, version 1.1, [4] Jost Bertold: Explicit and Implicit Parallel Functional Programming: Concepts and Implementation, PhD Disszertáció, 2008, Marburg. [5] Jones, S. P., Gordon, A., Finne, S.: Concurrent Haskell, Conference Record of POPL 96: The 23rd ACM SIGPLANSIGACT Symposium on Principles of Programming Languages, Glasgow, 1996, 11 pp. [6] Finne, S. and Jones, S., P. J.: Concurrent Haskell, In Principles Of Programming Languages, St. Petersburg Beach, Florida, 1996, pp [7] Fournet, C., Le Fessant, F., Maranget, L., Schmitt, A.: The JoCaml language beta release, Documentation and user s manual, INRIA, [8] Leroy X. et al. The Objective Caml Language (version 3.10). Software and documentation, available at [9] J. Barklund and R. Virding. Erlang Reference Manual, Available from http: // [10] Kesseler, M.H.G.: The Implementation of Functional Languages on Parallel Machines with Distributed Memory, PhD Thesis, Catholic University of Nijmegen, [11] Serrarens, P.R.: Communication Issues in Distributed Functional Computing, Ph.D. Thesis, University of Nijmegen, January

10 [12] Horváth Z., Zsók V., Serrarens, P., Plasmeijer, R.: Parallel Elementwise Processable Functions in Concurrent Clean, Mathematical and Computer Modelling 38, pp , Pergamon, [13] Horváth Zoltán, Hernyák Zoltán, Zsók Viktóra: Coordination Language for Distributed Clean, Acta Cybernetica (ISSN: X), Vol. 17 (2), Institute of Informatics, University of Szeged, Szeged, Hungary, 2005, pp Selected publication of CSCS PhD Conference in Computer Science. [14] Achten, P., Wierich, M.:A Tutorial to the Clean Object I/O Library, University of Nijmegen, [15] Plasmeijer,R.-van Eekelen,M.: Functional Programming and Parallel Graph Rewriting, Addison-Wesley, [16] [EeNoPlSm90] van Eekelen,M. et al.: Concurrent Clean, Technical Report no 90-20, November 1990, University of Nijmegen. [17] Plasmeijer, R., van Eekelen, M.: Concurrent Clean Language Report, University of Nijmegen, [18] Hernyák Zoltán: PEDPI as a Message Passing Interface with OO support, in: Striegnitz, Jörg; Davis, Kei (Eds.) (2003) Proceedings of the Workshop on Parallel/High-Performance Object-Oriented Scientific Computing (POOSC 03), Interner Bericht FZJ-ZAM-IB , Juli 2003, pp

11 List of publications Referred publications 1. Horváth Zoltán, Hernyák Zoltán, Zsók Viktóra: Coordination Language for Distributed Clean, Acta Cybernetica (ISSN: X), Vol. 17 (2), Institute of Informatics, University of Szeged, Szeged, Hungary, 2005, pp Selected publication of CSCS PhD Conference in Computer Science. 2. Horváth Zoltán, Hernyák Zoltán,Kozsik Tamás, Tejfel Máté, Ulbert Attila: A Data Intensive Application on a Cluster - Parallel Elementwise Processing, in P. Kacsuk, D. Kranzlmüller, Zs. Nemeth, J. Volkert (Eds.): Distributed and Parallel System - Cluster and Grid Computing, Proc. 4th Austrian-Hungarian Workshop on Distributed and Parallel Systems, Kluwer Academic Publishers, The Kluwer International Series in Engineering and Computer Science, Vol. 706, pp , Linz, Austria, September 29-October 2, Zsók Viktória, Hernyák Zoltán, Horváth Zoltán: Designing Distributed Computational Skeletons in D-Clean and D-Box, in.: Lecture Notes in Computer Science, Horváth Zoltán(ed.) in.: Central European Functional Programming School (The First Central European Summer School, CEFP 2005, Budapest, Hungary, July 4-15, 2005), Revised Selected Lectures. ISSN , vol. 4164, 2006, pp Zsók Viktória, Hernyák Zoltán, Horváth Zoltán: Distributed Pattern Design in D-Clean, Central European Functional Programming School, CEFP 2005, ELTE, Budapest, Hungary, July 4-15, 2005, Lecture Notes, 33 pages 5. Zsók Viktória, Hernyák Zoltán, Horváth Zoltán: Improving the Distributed Elementwise Processing Implementation in D-Clean, In: Horváth Z., Kozma L, Zsók V. (eds): Proceedings of the 10th Symposium on Programming Languages and Software Tools (ISBN: ), SPLST 2007, Dobogókő, Hungary, June 14-16, 2007, Eötvös University Press, 2007, pp Zsók Viktória, Hernyák Zoltán, Horváth Zoltán: Distributed Pattern Design in D-Clean, Vene V., Meriste M.(ed.) in.: Proceedings of the Ninth Symposium on Programming Languages and Software Tools, ISBN: , SPLST 2005, Tartu, 9

12 Estonia, August, 2005, Tartu University Press, 2005, pp Publications in referred proceedings 7. Zsók Viktória, Hernyák Zoltán, Horváth Zoltán: /Distributed Computation on Cluster using D-Clean and D-Box. Extended abstract In: Davis, K., Quintino, T., Striegnitz, J. (eds): 5th Workshop on Parallel/High Performance Object-Oriented Scientific Computing, POOSC 06 at 20th European Conference on Object-Oriented Programming, ECOOP 2006, Nantes, France, 3rd July, 2006, 3 pages. Summary: Object-Oriented Technology, ECOOP 2006 Workshop Reader, ECOOP 2006 Workshops, Nantes, France, July 3-7, 2006, Final Reports, LNCS 4379, Springer Verlag, 2007, pp Horváth Zoltán, Hernyák Zoltán, Zsók Viktória: Implementing Distributed Skeletons using D-Clean and D-Box, In: Butterfield, A. (ed): Proceedings of the 17th International Workshop on Implementation and Application of Functional Languages, IFL 2005, Dublin, Ireland, September 19-21, 2005, pp Hernyák Zoltán, Horváth Zoltán, Zsók Viktória: Clean-CORBA Interface Supporting Pipeline Skeleton, Csőke Lajos(ed.) in.: Proceedings of 6th International Conference on Applied Informatics, Eger, Hungary, January 27-31, Eger, Hungary, B.V.B. Press, Vol. I. pp Publications in international conference proceedings 10. Zsók Viktória, Horváth Zoltán, Hernyák Zoltán: /Distributed Elementwise Processing in D-Clean, In: Nilsson, H. (ed): Proceedings of the Seventh Symposium on Trends in Functional Programming, TFP 2006, Nottingham, UK, April, 2006, The University of Nottingham, pp Hernyák Zoltán, Horváth Zoltán, Zsók Viktória: Design of Language Elements for Dynamic Distributed Computation of Clean Expressions on Clusters, in: Loidl, H-W. (ed): Proceedings of Fifth Symposium on Trends in Functional Programming, TFP 2004, Munich, Germany, November 25-26, 2004, Ludwig-Maximilians University, pp Hernyák Zoltán: PEDPI as a Message Passing Interface with OO support, in: Striegnitz, Jörg; Davis, Kei (Eds.) (2003) Proceedings of the Workshop on Parallel/ High-Performance Object-Oriented Scientific Computing (POOSC 03), Interner Bericht FZJ-ZAM-IB , Juli 2003, pp

Lecture Notes in Computer Science 5161

Lecture Notes in Computer Science 5161 Lecture Notes in Computer Science 5161 Commenced Publication in 1973 Founding and Former Series Editors: Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen Editorial Board David Hutchison Lancaster University,

More information

Parallel Compression and Decompression of DNA Sequence Reads in FASTQ Format

Parallel Compression and Decompression of DNA Sequence Reads in FASTQ Format , pp.91-100 http://dx.doi.org/10.14257/ijhit.2014.7.4.09 Parallel Compression and Decompression of DNA Sequence Reads in FASTQ Format Jingjing Zheng 1,* and Ting Wang 1, 2 1,* Parallel Software and Computational

More information

Interconnect Efficiency of Tyan PSC T-630 with Microsoft Compute Cluster Server 2003

Interconnect Efficiency of Tyan PSC T-630 with Microsoft Compute Cluster Server 2003 Interconnect Efficiency of Tyan PSC T-630 with Microsoft Compute Cluster Server 2003 Josef Pelikán Charles University in Prague, KSVI Department, [email protected] Abstract 1 Interconnect quality

More information

Cloud Computing. Up until now

Cloud Computing. Up until now Cloud Computing Lecture 11 Virtualization 2011-2012 Up until now Introduction. Definition of Cloud Computing Grid Computing Content Distribution Networks Map Reduce Cycle-Sharing 1 Process Virtual Machines

More information

Building an Inexpensive Parallel Computer

Building an Inexpensive Parallel Computer Res. Lett. Inf. Math. Sci., (2000) 1, 113-118 Available online at http://www.massey.ac.nz/~wwiims/rlims/ Building an Inexpensive Parallel Computer Lutz Grosz and Andre Barczak I.I.M.S., Massey University

More information

A Multi-layered Domain-specific Language for Stencil Computations

A Multi-layered Domain-specific Language for Stencil Computations A Multi-layered Domain-specific Language for Stencil Computations Christian Schmitt, Frank Hannig, Jürgen Teich Hardware/Software Co-Design, University of Erlangen-Nuremberg Workshop ExaStencils 2014,

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

System Description: The MathWeb Software Bus for Distributed Mathematical Reasoning

System Description: The MathWeb Software Bus for Distributed Mathematical Reasoning System Description: The MathWeb Software Bus for Distributed Mathematical Reasoning Jürgen Zimmer 1 and Michael Kohlhase 2 1 FB Informatik, Universität des Saarlandes [email protected] 2 School of Computer

More information

How to make the computer understand? Lecture 15: Putting it all together. Example (Output assembly code) Example (input program) Anatomy of a Computer

How to make the computer understand? Lecture 15: Putting it all together. Example (Output assembly code) Example (input program) Anatomy of a Computer How to make the computer understand? Fall 2005 Lecture 15: Putting it all together From parsing to code generation Write a program using a programming language Microprocessors talk in assembly language

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 [email protected] [email protected] Department of Computer Science Department of Electrical and Computer

More information

Application Monitoring in the Grid with GRM and PROVE *

Application Monitoring in the Grid with GRM and PROVE * Application Monitoring in the Grid with GRM and PROVE * Zoltán Balaton, Péter Kacsuk and Norbert Podhorszki MTA SZTAKI H-1111 Kende u. 13-17. Budapest, Hungary {balaton, kacsuk, pnorbert}@sztaki.hu Abstract.

More information

Modular Communication Infrastructure Design with Quality of Service

Modular Communication Infrastructure Design with Quality of Service Modular Communication Infrastructure Design with Quality of Service Pawel Wojciechowski and Péter Urbán Distributed Systems Laboratory School of Computer and Communication Sciences Swiss Federal Institute

More information

Code Generation for High-Assurance Java Card Applets

Code Generation for High-Assurance Java Card Applets Code Generation for High-Assurance Java Card Applets Alessandro Coglio Kestrel Institute 3260 Hillview Avenue, Palo Alto, CA 94304, USA Ph. +1-650-493-6871 Fax +1-650-424-1807 http://www.kestrel.edu/ coglio

More information

A Contribution to Expert Decision-based Virtual Product Development

A Contribution to Expert Decision-based Virtual Product Development A Contribution to Expert Decision-based Virtual Product Development László Horváth, Imre J. Rudas Institute of Intelligent Engineering Systems, John von Neumann Faculty of Informatics, Óbuda University,

More information

Parallelization of video compressing with FFmpeg and OpenMP in supercomputing environment

Parallelization of video compressing with FFmpeg and OpenMP in supercomputing environment Proceedings of the 9 th International Conference on Applied Informatics Eger, Hungary, January 29 February 1, 2014. Vol. 1. pp. 231 237 doi: 10.14794/ICAI.9.2014.1.231 Parallelization of video compressing

More information

Thesis Proposal: Improving the Performance of Synchronization in Concurrent Haskell

Thesis Proposal: Improving the Performance of Synchronization in Concurrent Haskell Thesis Proposal: Improving the Performance of Synchronization in Concurrent Haskell Ryan Yates 5-5-2014 1/21 Introduction Outline Thesis Why Haskell? Preliminary work Hybrid TM for GHC Obstacles to Performance

More information

Application Architectures

Application Architectures Software Engineering Application Architectures Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain the organization of two fundamental models of business systems - batch

More information

Efficiency Considerations of PERL and Python in Distributed Processing

Efficiency Considerations of PERL and Python in Distributed Processing Efficiency Considerations of PERL and Python in Distributed Processing Roger Eggen (presenter) Computer and Information Sciences University of North Florida Jacksonville, FL 32224 [email protected] 904.620.1326

More information

Stream Processing on GPUs Using Distributed Multimedia Middleware

Stream Processing on GPUs Using Distributed Multimedia Middleware Stream Processing on GPUs Using Distributed Multimedia Middleware Michael Repplinger 1,2, and Philipp Slusallek 1,2 1 Computer Graphics Lab, Saarland University, Saarbrücken, Germany 2 German Research

More information

Syntax Check of Embedded SQL in C++ with Proto

Syntax Check of Embedded SQL in C++ with Proto Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 383 390. Syntax Check of Embedded SQL in C++ with Proto Zalán Szűgyi, Zoltán Porkoláb

More information

Object-Oriented Software Specification in Programming Language Design and Implementation

Object-Oriented Software Specification in Programming Language Design and Implementation Object-Oriented Software Specification in Programming Language Design and Implementation Barrett R. Bryant and Viswanathan Vaidyanathan Department of Computer and Information Sciences University of Alabama

More information

NASSI-SCHNEIDERMAN DIAGRAM IN HTML BASED ON AML

NASSI-SCHNEIDERMAN DIAGRAM IN HTML BASED ON AML Volume 6, Number 3, 2013 NASSI-SCHNEIDERMAN DIAGRAM IN HTML BASED ON AML László Menyhárt Abstract: In an earlier work I defined an extension of XML called Algorithm Markup Language (AML) for easy and understandable

More information

A Java Based Tool for Testing Interoperable MPI Protocol Conformance

A Java Based Tool for Testing Interoperable MPI Protocol Conformance A Java Based Tool for Testing Interoperable MPI Protocol Conformance William George National Institute of Standards and Technology 100 Bureau Drive Stop 8951 Gaithersburg MD 20899 8951 1 301 975 4943 [email protected]

More information

Component visualization methods for large legacy software in C/C++

Component visualization methods for large legacy software in C/C++ Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University [email protected]

More information

Advanced TTCN-3 Test Suite validation with Titan

Advanced TTCN-3 Test Suite validation with Titan Proceedings of the 9 th International Conference on Applied Informatics Eger, Hungary, January 29 February 1, 2014. Vol. 2. pp. 273 281 doi: 10.14794/ICAI.9.2014.2.273 Advanced TTCN-3 Test Suite validation

More information

Introduction to Embedded Systems. Software Update Problem

Introduction to Embedded Systems. Software Update Problem Introduction to Embedded Systems CS/ECE 6780/5780 Al Davis logistics minor Today s topics: more software development issues 1 CS 5780 Software Update Problem Lab machines work let us know if they don t

More information

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters COMP5426 Parallel and Distributed Computing Distributed Systems: Client/Server and Clusters Client/Server Computing Client Client machines are generally single-user workstations providing a user-friendly

More information

Generating Aspect Code from UML Models

Generating Aspect Code from UML Models Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany [email protected] Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,

More information

Equalizer. Parallel OpenGL Application Framework. Stefan Eilemann, Eyescale Software GmbH

Equalizer. Parallel OpenGL Application Framework. Stefan Eilemann, Eyescale Software GmbH Equalizer Parallel OpenGL Application Framework Stefan Eilemann, Eyescale Software GmbH Outline Overview High-Performance Visualization Equalizer Competitive Environment Equalizer Features Scalability

More information

Parallel Computing. Benson Muite. [email protected] http://math.ut.ee/ benson. https://courses.cs.ut.ee/2014/paralleel/fall/main/homepage

Parallel Computing. Benson Muite. benson.muite@ut.ee http://math.ut.ee/ benson. https://courses.cs.ut.ee/2014/paralleel/fall/main/homepage Parallel Computing Benson Muite [email protected] http://math.ut.ee/ benson https://courses.cs.ut.ee/2014/paralleel/fall/main/homepage 3 November 2014 Hadoop, Review Hadoop Hadoop History Hadoop Framework

More information

Twelve Theses on Reactive Rules for the Web

Twelve Theses on Reactive Rules for the Web Twelve Theses on Reactive Rules for the Web François Bry and Michael Eckert University of Munich, Institute for Informatics Oettingenstr. 67, D-80538 München {bry, eckert}@pms.ifi.lmu.de http://www.pms.ifi.lmu.de

More information

Software Synthesis from Dataflow Models for G and LabVIEW

Software Synthesis from Dataflow Models for G and LabVIEW Presented at the Thirty-second Annual Asilomar Conference on Signals, Systems, and Computers. Pacific Grove, California, U.S.A., November 1998 Software Synthesis from Dataflow Models for G and LabVIEW

More information

Development of Performance Testing Tool for Railway Signaling System Software

Development of Performance Testing Tool for Railway Signaling System Software Vol. 10, No. 2, pp. 16-20, December 2011 Development of Performance Testing Tool for Railway Signaling System Software Jong-Gyu Hwang* and Hyun-Jeong Jo Korea Railroad Research Institute, Uiwang-si 437-757,

More information

Monitoring Message Passing Applications in the Grid

Monitoring Message Passing Applications in the Grid Monitoring Message Passing Applications in the Grid with GRM and R-GMA Norbert Podhorszki and Peter Kacsuk MTA SZTAKI, Budapest, H-1528 P.O.Box 63, Hungary [email protected], [email protected] Abstract.

More information

Operating System for the K computer

Operating System for the K computer Operating System for the K computer Jun Moroo Masahiko Yamada Takeharu Kato For the K computer to achieve the world s highest performance, Fujitsu has worked on the following three performance improvements

More information

Computer Science. Master of Science

Computer Science. Master of Science Computer Science Master of Science The Master of Science in Computer Science program at UALR reflects current trends in the computer science discipline and provides students with a solid theoretical and

More information

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication Integrated Development of Distributed Real-Time Applications with Asynchronous Communication Marc Schanne International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES) 26-28 September

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

International Workshop on Field Programmable Logic and Applications, FPL '99

International Workshop on Field Programmable Logic and Applications, FPL '99 International Workshop on Field Programmable Logic and Applications, FPL '99 DRIVE: An Interpretive Simulation and Visualization Environment for Dynamically Reconægurable Systems? Kiran Bondalapati and

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

Workflow Automation and Management Services in Web 2.0: An Object-Based Approach to Distributed Workflow Enactment

Workflow Automation and Management Services in Web 2.0: An Object-Based Approach to Distributed Workflow Enactment Workflow Automation and Management Services in Web 2.0: An Object-Based Approach to Distributed Workflow Enactment Peter Y. Wu [email protected] Department of Computer & Information Systems Robert Morris University

More information

Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005

Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005 Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005 Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005... 1

More information

Knowledge-based Approach in Information Systems Life Cycle and Information Systems Architecture

Knowledge-based Approach in Information Systems Life Cycle and Information Systems Architecture 5 th Slovakian-Hungarian Joint Symposium on Applied Machine Intelligence and Informatics January 25-26, 2007 Poprad, Slovakia Knowledge-based Approach in Information Systems Life Cycle and Information

More information

OPC COMMUNICATION IN REAL TIME

OPC COMMUNICATION IN REAL TIME OPC COMMUNICATION IN REAL TIME M. Mrosko, L. Mrafko Slovak University of Technology, Faculty of Electrical Engineering and Information Technology Ilkovičova 3, 812 19 Bratislava, Slovak Republic Abstract

More information

Integration of the OCM-G Monitoring System into the MonALISA Infrastructure

Integration of the OCM-G Monitoring System into the MonALISA Infrastructure Integration of the OCM-G Monitoring System into the MonALISA Infrastructure W lodzimierz Funika, Bartosz Jakubowski, and Jakub Jaroszewski Institute of Computer Science, AGH, al. Mickiewicza 30, 30-059,

More information

4.1 CD 301 - BSc (Hons) Information Technology (Diploma to Degree Upgrade 1.5 Years Part Time)

4.1 CD 301 - BSc (Hons) Information Technology (Diploma to Degree Upgrade 1.5 Years Part Time) 4.1 CD 301 - BSc (Hons) Information Technology (Diploma to Degree Upgrade 1.5 Years Part Time) 1. OBJECTIVES This Programme is geared towards producing computer professionals, with a thorough understanding

More information

Ontological Representations of Software Patterns

Ontological Representations of Software Patterns Ontological Representations of Software Patterns Jean-Marc Rosengard and Marian F. Ursu University of London http://w2.syronex.com/jmr/ Abstract. This paper 1 is based on and advocates the trend in software

More information

A Study on Data Analysis Process Management System in MapReduce using BPM

A Study on Data Analysis Process Management System in MapReduce using BPM A Study on Data Analysis Process Management System in MapReduce using BPM Yoon-Sik Yoo 1, Jaehak Yu 1, Hyo-Chan Bang 1, Cheong Hee Park 1 Electronics and Telecommunications Research Institute, 138 Gajeongno,

More information

IC2D: Interactive Control and Debugging of Distribution

IC2D: Interactive Control and Debugging of Distribution IC2D: Interactive Control and Debugging of Distribution Françoise Baude, Alexandre Bergel, Denis Caromel, Fabrice Huet, Olivier Nano, and Julien Vayssière INRIA Sophia Antipolis, CNRS - I3S - Univ. Nice

More information

CSCI E 98: Managed Environments for the Execution of Programs

CSCI E 98: Managed Environments for the Execution of Programs CSCI E 98: Managed Environments for the Execution of Programs Draft Syllabus Instructor Phil McGachey, PhD Class Time: Mondays beginning Sept. 8, 5:30-7:30 pm Location: 1 Story Street, Room 304. Office

More information

EMBEDDED SOFTWARE DEVELOPMENT: COMPONENTS AND CONTRACTS

EMBEDDED SOFTWARE DEVELOPMENT: COMPONENTS AND CONTRACTS EMBEDDED SOFTWARE DEVELOPMENT: COMPONENTS AND CONTRACTS David URTING, Stefan VAN BAELEN, Tom HOLVOET and Yolande BERBERS {David.Urting, Stefan.VanBaelen, Tom.Holvoet, Yolande.Berbers}@cs.kuleuven.ac.be

More information

irods and Metadata survey Version 0.1 Date March Abhijeet Kodgire [email protected] 25th

irods and Metadata survey Version 0.1 Date March Abhijeet Kodgire akodgire@indiana.edu 25th irods and Metadata survey Version 0.1 Date 25th March Purpose Survey of Status Complete Author Abhijeet Kodgire [email protected] Table of Contents 1 Abstract... 3 2 Categories and Subject Descriptors...

More information

Annotated bibliography for the tutorial on Exploring typed language design in Haskell

Annotated bibliography for the tutorial on Exploring typed language design in Haskell Annotated bibliography for the tutorial on Exploring typed language design in Haskell Oleg Kiselyov 1 and Ralf Lämmel 2 1 Fleet Numerical Meteorology and Oceanography Center, Monterey, CA 2 Universität

More information

Visual Basic. murach's TRAINING & REFERENCE

Visual Basic. murach's TRAINING & REFERENCE TRAINING & REFERENCE murach's Visual Basic 2008 Anne Boehm lbm Mike Murach & Associates, Inc. H 1-800-221-5528 (559) 440-9071 Fax: (559) 440-0963 [email protected] www.murach.com Contents Introduction

More information

Using an MPI Cluster in the Control of a Mobile Robots System

Using an MPI Cluster in the Control of a Mobile Robots System Using an MPI Cluster in the Control of a Mobile Robots System Mohamed Salim LMIMOUNI, Saïd BENAISSA, Hicham MEDROMI, Adil SAYOUTI Equipe Architectures des Systèmes (EAS), Laboratoire d Informatique, Systèmes

More information

Master of Science in Computer Science

Master of Science in Computer Science Master of Science in Computer Science Background/Rationale The MSCS program aims to provide both breadth and depth of knowledge in the concepts and techniques related to the theory, design, implementation,

More information

Language-oriented Software Development and Rewriting Logic

Language-oriented Software Development and Rewriting Logic Language-oriented Software Development and Rewriting Logic Christiano Braga [email protected] http://www.ic.uff.br/ cbraga Universidade Federal Fluminense (UFF) Language-oriented Software Development and

More information

Doctor of Philosophy in Computer Science

Doctor of Philosophy in Computer Science Doctor of Philosophy in Computer Science Background/Rationale The program aims to develop computer scientists who are armed with methods, tools and techniques from both theoretical and systems aspects

More information

core. Volume I - Fundamentals Seventh Edition Sun Microsystems Press A Prentice Hall Title ULB Darmstadt

core. Volume I - Fundamentals Seventh Edition Sun Microsystems Press A Prentice Hall Title ULB Darmstadt core. 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Volume I - Fundamentals Seventh Edition CAY S. HORSTMANN GARY

More information

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE INTRODUCTION TO JAVA PROGRAMMING LANGUAGE Today Java programming language is one of the most popular programming language which is used in critical applications like stock market trading system on BSE,

More information

A Simultaneous Solution for General Linear Equations on a Ring or Hierarchical Cluster

A Simultaneous Solution for General Linear Equations on a Ring or Hierarchical Cluster Acta Technica Jaurinensis Vol. 3. No. 1. 010 A Simultaneous Solution for General Linear Equations on a Ring or Hierarchical Cluster G. Molnárka, N. Varjasi Széchenyi István University Győr, Hungary, H-906

More information

How To Understand The Concept Of A Distributed System

How To Understand The Concept Of A Distributed System Distributed Operating Systems Introduction Ewa Niewiadomska-Szynkiewicz and Adam Kozakiewicz [email protected], [email protected] Institute of Control and Computation Engineering Warsaw University of

More information

XMPP A Perfect Protocol for the New Era of Volunteer Cloud Computing

XMPP A Perfect Protocol for the New Era of Volunteer Cloud Computing International Journal of Computational Engineering Research Vol, 03 Issue, 10 XMPP A Perfect Protocol for the New Era of Volunteer Cloud Computing Kamlesh Lakhwani 1, Ruchika Saini 1 1 (Dept. of Computer

More information

EIT ICT Labs MASTER SCHOOL DSS Programme Specialisations

EIT ICT Labs MASTER SCHOOL DSS Programme Specialisations EIT ICT Labs MASTER SCHOOL DSS Programme Specialisations DSS EIT ICT Labs Master Programme Distributed System and Services (Cloud Computing) The programme in Distributed Systems and Services focuses on

More information

The Service Availability Forum Specification for High Availability Middleware

The Service Availability Forum Specification for High Availability Middleware The Availability Forum Specification for High Availability Middleware Timo Jokiaho, Fred Herrmann, Dave Penkler, Manfred Reitenspiess, Louise Moser Availability Forum [email protected], [email protected],

More information

Manjrasoft Market Oriented Cloud Computing Platform

Manjrasoft Market Oriented Cloud Computing Platform Manjrasoft Market Oriented Cloud Computing Platform Innovative Solutions for 3D Rendering Aneka is a market oriented Cloud development and management platform with rapid application development and workload

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

SYLLABUS. 1 seminar/laboratory 3.4 Total hours in the curriculum 42 Of which: 3.5 course 28 3.6

SYLLABUS. 1 seminar/laboratory 3.4 Total hours in the curriculum 42 Of which: 3.5 course 28 3.6 SYLLABUS 1. Information regarding the programme 1.1 Higher education Babeş-Bolyai University institution 1.2 Faculty Faculty of Mathematics and Computer Science 1.3 Department Department of Computer Science

More information

Fair Scheduling Algorithm with Dynamic Load Balancing Using In Grid Computing

Fair Scheduling Algorithm with Dynamic Load Balancing Using In Grid Computing Research Inventy: International Journal Of Engineering And Science Vol.2, Issue 10 (April 2013), Pp 53-57 Issn(e): 2278-4721, Issn(p):2319-6483, Www.Researchinventy.Com Fair Scheduling Algorithm with Dynamic

More information

A Performance Study of Load Balancing Strategies for Approximate String Matching on an MPI Heterogeneous System Environment

A Performance Study of Load Balancing Strategies for Approximate String Matching on an MPI Heterogeneous System Environment A Performance Study of Load Balancing Strategies for Approximate String Matching on an MPI Heterogeneous System Environment Panagiotis D. Michailidis and Konstantinos G. Margaritis Parallel and Distributed

More information

SimWebLink.NET Remote Control and Monitoring in the Simulink

SimWebLink.NET Remote Control and Monitoring in the Simulink SimWebLink.NET Remote Control and Monitoring in the Simulink MARTIN SYSEL, MICHAL VACLAVSKY Department of Computer and Communication Systems Faculty of Applied Informatics Tomas Bata University in Zlín

More information

Middleware and Distributed Systems. Introduction. Dr. Martin v. Löwis

Middleware and Distributed Systems. Introduction. Dr. Martin v. Löwis Middleware and Distributed Systems Introduction Dr. Martin v. Löwis 14 3. Software Engineering What is Middleware? Bauer et al. Software Engineering, Report on a conference sponsored by the NATO SCIENCE

More information

Computer Organization & Architecture Lecture #19

Computer Organization & Architecture Lecture #19 Computer Organization & Architecture Lecture #19 Input/Output The computer system s I/O architecture is its interface to the outside world. This architecture is designed to provide a systematic means of

More information

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014 CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages Nicki Dell Spring 2014 What is a Programming Language? A set of symbols and associated tools that translate (if necessary) collections

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

GPU Profiling with AMD CodeXL

GPU Profiling with AMD CodeXL GPU Profiling with AMD CodeXL Software Profiling Course Hannes Würfel OUTLINE 1. Motivation 2. GPU Recap 3. OpenCL 4. CodeXL Overview 5. CodeXL Internals 6. CodeXL Profiling 7. CodeXL Debugging 8. Sources

More information

Towards Integrating Modeling and Programming Languages: The Case of UML and Java

Towards Integrating Modeling and Programming Languages: The Case of UML and Java Towards Integrating Modeling and Programming Languages: The Case of UML and Java Patrick Neubauer, Tanja Mayerhofer, and Gerti Kappel Business Informatics Group, Vienna University of Technology, Austria

More information

A STUDY OF THE BEHAVIOUR OF THE MOBILE AGENT IN THE NETWORK MANAGEMENT SYSTEMS

A STUDY OF THE BEHAVIOUR OF THE MOBILE AGENT IN THE NETWORK MANAGEMENT SYSTEMS A STUDY OF THE BEHAVIOUR OF THE MOBILE AGENT IN THE NETWORK MANAGEMENT SYSTEMS Tarag Fahad, Sufian Yousef & Caroline Strange School of Design and Communication Systems, Anglia Polytechnic University Victoria

More information

Security Analysis of Dynamic Infrastructure Clouds

Security Analysis of Dynamic Infrastructure Clouds Security Analysis of Dynamic Infrastructure Clouds Sören Bleikertz 1, Thomas Groß 2, and Sebastian Mödersheim 3 1 IBM Research - Zurich 2 University of Newcastle upon Tyne 3 DTU Informatics 1 Introduction

More information

Course MS10975A Introduction to Programming. Length: 5 Days

Course MS10975A Introduction to Programming. Length: 5 Days 3 Riverchase Office Plaza Hoover, Alabama 35244 Phone: 205.989.4944 Fax: 855.317.2187 E-Mail: [email protected] Web: www.discoveritt.com Course MS10975A Introduction to Programming Length: 5 Days

More information

Publication list. Cumulative impact factor: 28.015

Publication list. Cumulative impact factor: 28.015 Cumulative impact factor: 28.015 Publication list Refereed journals: G. Pál, Emergence of energy dependence in the fragmentation of heterogeneous materials, Physical Review E 90, 062811 (2014) DOI: 10.1103/PhysRevE.90.062811,

More information