In astroinformatics, the processing and analyzing. Scaling Astroinformatics: Python + Automatic Parallelization COVER FEATURE

Size: px
Start display at page:

Download "In astroinformatics, the processing and analyzing. Scaling Astroinformatics: Python + Automatic Parallelization COVER FEATURE"

Transcription

1 Scaling Astroinormatics: Python + Automatic Parallelization Stean C. Müller, ETH Zürich and University o Applied Sciences Northwestern Switzerland Gustavo Alonso, ETH Zürich André Csillaghy, University o Applied Sciences Northwestern Switzerland Pydron, a system that bridges the gap between interactive data analysis and scalable computing, enables astronomers to process large datasets with Python without the compleities o managing parallel processing code. In astroinormatics, the processing and analyzing o astronomical data is inherently eploratory, and to derive useul insights rom the data, scientists must oten run many processing iterations. The time between deciding which processing to apply and obtaining results can limit both worklow eiciency and knowledge acquisition. As data volumes reach the eabyte scale, analyzing data at workstations becomes impossible. To obtain meaningul results rom that data, the partnership o science and scalable computing must be mutually beneicial. Unortunately, the trend toward big data is straining that partnership. Although computing platorms are now less epensive and scale to thousands o cores, they are also more comple, which creates steep learning curves or scientists. Such learning curves are a common problem across the IT industry, but their eect is acute in astroinormatics because data processing is oten tailored to a particular research line within a group, with only a ew hundred scientists actually working on a given dataset and processing results. Thus, as platorms advance, worklow becomes less eicient because scientists cannot evolve their data processing and programming practices to keep pace with new processing techniques and hardware advances. Changes are happening too rapidly to allow the needed economies o scale. The cycle o narrower dataset scope, higher platorm compleity, and increased available data is accelerating. In light o this cycle, rather than proposing new languages or parallel programming platorms, computer scientists need to develop immediately practical tools that provide a leible interace between the application domain and parallel computing. Scientists can then perorm their research independently without having to worry about modiying the parallel computing code. In collaboration with several astronomy groups, we have developed such a tool. By inserting just two decorators in sequential Python code, application developers can use Pydron ( to automatiy parallelize their code with a transparent and simple-to-use interace between the application and parallel computing domains. Although Pydron s underlying concepts could work with other languages, we chose Python because its powerul libraries, such as SciPy, 1 make it popular among astronomers. Our goal or Pydron is to let scientists work directly on large datasets as conveniently as they analyze data on a laptop. To evaluate Pydron s eectiveness, we eplored several use cases, rom cosmology to detecting planets outside the solar system, and eamined its role in a data- reduction pipeline. In all the use cases, we proved that Pydron requires minimal code changes. In /14/$ IEEE Published by the IEEE Computer Society SEPTEMBER

2 @schedule de analyze(eposures) = [] or e in eposures: += measure(e) de measure(eposure):... Pydron Figure 1. Regular, sequential Python code with two types o decorators that Pydron eecutes transparently in parallel. In this eample, Pydron knows that it should parallelize the code ollowing decorator. decorator tells Pydron that the measure unction has no side eects. the data-reduction eperiment, Pydron scaled to many CPU cores and reduced eecution time rom more than our hours to less than three minutes a 100-plus reduction actor. HOW PYDRON WORKS As Figure 1 shows, Pydron uses two decorators to automatiy parallelize regular, sequential Python code and distribute it to multiple cores, cluster nodes, or the cloud. It then sends results, such as plots, back to the astronomer s machine or inspection or urther processing. Decorators Developers insert two decorators in the Python marks unctions that contain the code or automatic parallelization, tells Pydron that a given unction is ree o side eects (it neither modiies state nor has any observable interaction with the outside world). Pydron parallelizes only unctions with decorator. I the available CPU cores are ully utilized, Pydron can automatiy decide not to analyze a unction with the decorator and instead treat it as a regular unction. Support scope Pydron takes care o scheduling jobs to the cluster or starting cloud nodes. It also transers code and entire Python libraries rom the scientist s computer to the worker nodes in the cluster or cloud. Applications launch as they usually do, such as rom within an integrated development environment. Unlike previous systems that operate on Python code, Pydron supports almost all Python language eatures, including nested unctions and lambda epressions. Consequently, the learning curve is shorter. Pydron is also easier to use on eisting code, since the developer need not stay within a limited eature set. The only restrictions are the yield statement and the lack o support or eception handling, which we are planning to include in Pydron s net release. Detecting parallelism and side eects Pydron can detect both task parallelism, in which dierent operations eecute independently, and data parallelism, in which a loop perorms the same operations on multiple data. Pydron can eecute two Python epressions or statements in parallel i both are ree o side eects and i there is no potential inormation low rom one to the other. Side-eect sources include changing o global variables (reading is not a side eect), in-place object modiication, interactions with the environment, and invoking unctions with side eects. The current Pydron version does not check these conditions, although we epect the net version to have methods that semiautomate this process. Developers indicate that a unction has no side eects by applying decorator. Many developers o scientiic applications have a background in mathematics, so a unctional sotware design might be more intuitive than one based on mutable objects and global state. Python s pickle API serializes objects or transport; pickle is designed or leibility, not raw speed, so passing large objects as parameters and return values can become a bottleneck. Pydron assumes that the application uses a separate communication channel, such as a shared ile system, to transer large data volumes between tasks. Developers must represent each ile with a Python object, such as a string containing the ile s name. I the application passes around such an object as a ile placeholder, reading and writing the ile is not a side eect. SAMPLE USE CASES To evaluate Pydron s eectiveness, we tested it on multiple use cases that cover several astronomical areas. Three cases show how Pydron parallelizes new code, improves eisting code, and helps data reduction. Enabling parallelism on eisting code To evaluate Pydron s perormance on eisting code, we used parameter-itting code or etra galactic 42 COMPUTER

3 simulation, which is in development at ETH Zürich s Institute o Astronomy. The code optimizes the parameters o wide-ield simulation sotware 2 to match real eposures o space outside the Milky Way, with thousands o galaies per eposure. A chisquare test uses distribution estimates based on binning to evaluate goodness-o-it, and parallel random search optimizations determine the parameter itting. The processing code is in Python. To harness a cluster s perormance potential, the developers were orced to split the code across several Python applications. A worklow system could orchestrate the splitting and application eecution, but the developers opted to write a simple bash script that interacts with the cluster s queuing system to perorm those tasks. The bash script, which contains the outermost process loops, is hard to maintain and speciic to one cluster. To keep its size manageable, the developers had to limit what they could parallelize. We removed the manually parallelized bash script and went back to a simple, sequential, Python script that we then parallelized with Pydron. Replacing the bash script had several immediate advantages. All the code was in one language, and in the process o revisiting the code, we identiied several additional unctions that Pydron could parallelize to improve scalability. Code changes were minor, such as speciying which iles to read and write inside some o the methods, so that Pydron could track communication between methods. These code changes also improved code readability. Improving parallelism PynPoint is a Python image-processing package to detect planets outside the solar system that orbit a single star. 3 The eoplanet s brightness is less than a millionth o the star s light, and both optical eects and atmospheric distortion spread the detected light over an area larger than the planet s orbit. PynPoint uses principal component analysis to model each star s point spread unction, removing the star s light but leaving the planet s light detectable in the residue. Because an eoplanet is so aint, astronomers must combine thousands o eposures to detect it. Several parts o PynPoint s detection algorithm use SciPy with multithread support, including the principal component analysis. The dataset is so large that shared-memory parallelization takes hours to process a single star. PynPoint users can tune several parameters, some o which aect only the last ew processing steps such as the number o principal components. Another last step is to rotate individual eposures to compensate or Earth s rotation. The rotation operation, which is encapsulated in a utility method, is not parallelized and runs with a single thread. Because it is a inal step in the algorithm, its lack o scalability is noticeable when tuning parameters By applying decorator on the code, Pydron parallelized the rotation operation with minimal eort. The loop over the individual images was part o a larger unction that was otherwise suiciently parallel, so we moved the loop into a separate unction and marked only this unction with decorator. We also replaced a modiication inside the loop with equivalent code that stored the rotated image as a new object. Data reduction A common step in pipelines to reduce astronomical data, particularly in surveys, is detecting and measuring light sources in images. Applying this process can involve thousands or even millions o images, so scalability is highly desirable. To demonstrate Pydron s ability to handle scale, we applied it in detecting and measuring sources in 576 images rom the Hubble Space Telescope, 4 each approimately 250 Mbytes. The source_etraction routine in Figure 2a etracts the light sources rom all images and concatenates the resulting catalogs (~180 Kbytes per image) into a single catalog ile. decorator instructs Pydron to parallelize this routine. source_etraction s the etract unction (not shown), which is decorated For each image, this unction invokes an eternal source etraction tool. 5 Etracting an eposure takes about 30 seconds, and the concatenate unction, also builds the inal catalog in about 40 seconds. Figure 2b shows concatenation and eecution times. For the irst 16 cores, scalability is with a single multicore node; thereater, it is with multiple nodes. A separate node represents the scientist s workstation, where Pydron perorms scheduling and graph rewriting. Eecution time scales almost linearly up to about 128 cores, ater which it lattens. This trend is not surprising, since some cores must process one more eposure than the others. For eample, with 512 cores, 64 cores will have to process two eposures (576 total). While those cores process their second eposure, the remaining cores are idle. Once all etractions have inished, the concatenation runs on a single core. The scheduling and graph rewriting code, which is not optimized, requires approimately 80 seconds o CPU time, independent o the core count. The code runs partially in parallel with the worker nodes, reducing the eective overhead to less than 30 seconds. Other Python constructs, such as while-loops, listcomprehension, or individual etract s per image instead o a loop, produce the same results with only minor changes. PARALLELIZATION GRANULARITY Parallelization requires splitting a process into several tasks, which deines the granularity. The iner the SEPTEMBER

4 @schedule de source_etraction(eposures): catalogs = [] or eposure in eposures: catalog = etract(eposure) catalogs += [catalog] return concatenate(catalogs) (a) 17 h 4 min 8 h 32 min 4 h 16 min 2 h 8 min Eecution time 1 h 4 min Concatenation time 32 min 16 min 8 min 4 min 2 min 1 min 30 s 15 s 7.5 s (b) CPU cores Time Figure 2. How Pydron improves scalability. (a) Python code with decorator, which tells Pydron to parallelize the code in source_etraction, and (b) resulting concatenation and eecution times as cores increase. The dotted line depicts the Python code s eecution time without Pydron. granularity, the simpler each individual task becomes. Automatic parallelization involves deciding when to run tasks in parallel, which is easier when the tasks are simple. However, the iner the granularity, the more overhead accrues rom orchestrating the split and managing task communication. Thus, parallelization and granularity must have the right balance. Fine-grained parallelization At a very ine granular level, the processor splits machine operations into micro-operations, which run in dierent pipeline stages. Processors perorm this parallelization automatiy or arbitrary code, but conditional branches limit the approach s scalability to a ew stages. At a slightly coarser granularity, the process split might produce tasks that can run on hundreds o cores o a graphical processing unit, or on multiple processors with shared memory. At this granularity, automatic parallelization o arbitrary code in arbitrary languages is no longer possible. SEJITS 6 and Parakeet 7 have demonstrated that, under restrictions, ine-grained parallelization on shared-memory inrastructure is still possible with Python. However, only a subset o the language is supported, and the developer must ollow restrictions to avoid side eects. Coarse-grained parallelization For systems that target inrastructure with multiple machines, such as a cluster or cloud, parallelization granularity is generally coarse. Systems that automatiy parallelize at this granularity, such as Swit, 8 require languages designed or automatic parallelization. These new languages introduce a learning curve. Having separate languages or parallelization also enorces a strict separation between orchestration and processing. Where the separation occurs deines how well the process will scale, but rom a conceptual or sotware design view, the demarcation is not always convenient. The same argument holds or worklow systems such as Taverna, 9 in which developers speciy a worklow graph in a graphical instead o a tetual programming language. Pydron targets the same computational inrastructure but parallelizes Python code, which shortens the user s learning curve. With one language, the barrier between orchestration and processing is less distinct. Pydron can oten automatiy reduce granularity until it suiciently parallelizes the code to scale to all available machines. Developers control the granularity level according to where they place decorator. They no longer have to make the big-picture granularity decision, and the code is less dependent on the inrastructure. PYTHON-TO-DATAFLOW TRANSLATION Pydron translates unctions marked into a datalow graph, which is directed, acyclic, and bipartite. Each epression and statement has a corresponding part on the graph, and nodes are either value-nodes or task-nodes. Each value-node represents a speciic value that becomes eplicit as Pydron evaluates the graph. The data that a value-node represents never changes. Task-nodes represent operations on values, the instructions or how 44 COMPUTER

5 to calculate output values rom input values. In a broader contet, value-nodes (,y) = (a,b) represent variables and tasknodes represent Python epressions and statements. Translation starts when (a) (b) Python s parser translates Python code into an abstract synta tree (AST), which Pydron traverses depth-irst. In the Figure 3 eample, the variables a, b,,, and y translate to value-nodes in the corresponding datalow graph, which represents the content o each variable at that eecution point. Pydron translates the unction to a task-node that perorms a operation. In the code in Figure 3a, is a regular variable that contains the ed unction. Because unctions in Python are objects, this object becomes input to the task. Pydron translates the s return value to an intermediate value-node,, with no corresponding variable. Such intermediate value-nodes behave in the same way as regular value-nodes. Python supports righthand-side (RHS) epressions, so the unpack epression translates to a task-node. Static single-assignment orm The static single-assignment orm 10 is a way to represent the values that each variable represents. Because a valuenode represents eactly one value or a variable, Pydron translates each variable into a series o value-nodes, with each value-node representing the value stored or a speciic time. When a statement assigns a variable (RHS epression), Pydron creates a new value-node that represents the variable s new value. When an epression reads a variable (lethand-side epression), Pydron uses the most recent value-node or that variable. Dynamic datalow reinement Translation using only the code has severe limitations. For eample, we must assume that most unction s have side eects, since it is generally not possible to identiy the ed unction rom the code alone. The resulting datalow graph contains edges that eectively turn a into a synchronization point. Python is a dynamic language, so these static analysis limitations are not surprising. Pydron counters these limitations with a dynamic datalow. During datalow evaluation, Pydron gains more inormation as it discovers the data that value-nodes represent. Pydron passes this inormation to the tasks, which can choose to use it at runtime to change the datalow graph in their neighborhood. Once it knows all the inputs or a particular task, Pydron eecutes the task. a b Figure 3. Translating (a) Python code into (b) a datalow graph. unpack Call task handling illustrates how a graph can change at runtime. Pydron inorms tasks as soon as it knows the ed unction. The task then checks or decorator. I it is present, the task can remove the edges used to model the side eects. I the ed method has decorator, the task will merge a copy o the ee s datalow into the main datalow unless the scheduler decides that that no urther reinement is required. Parts o the merged datalow might be able to start processing beore all arguments are known. Loop statements The dynamic datalow graph can also implement loops. Pydron translates the loop s body and else section as a subgraph and inserts a single task-node that represents the complete loop statement into the main graph. I the loop is a or-loop, one task input is the iterator. As soon as the iterator is available, Pydron unrolls the loop by merging copies o the body graph into the main graph. Because etching elements rom the iterator itsel might be an epensive operation or have side eects, Pydron unrolls the iterations in a tail-recursive pattern. I no side eects get in the way, Pydron can unroll the complete loop immediately. While-loops are handled similarly. The or-loop in Figure 4 shows the code and corresponding graph created during translation. Inside the body subgraph is another or-loop task that will orm the tail- recursive pattern. Although the igure does not depict them, the nested or task has the same two subgraphs as those in Figure 4b. Figure 5 shows the graph ater the iterator has become available and Pydron has unrolled the or-loop twice. The irst copy o the body graph has no or statement since the second copy replaced it. I the s are more epensive than the summation, Pydron can achieve good parallelism without making any aggregate assumptions on the += operator, which might not hold, since Python supports operator overloading. Return, break, and continue statements Because return, break, and continue statements interrupt the program s regular control low, they need a y SEPTEMBER

6 list or body s or in list: s += () iter + s s it s it or s else (a) (b) Figure 4. Loop translation in Pydron. (a) or-loop statement in Python and (b) the resulting datalow graph. The body subgraph has an input that Pydron will connect to the target during unrolling. The or-loop task has output, which corresponds to the target o the last iteration. s s + s s with the main process and between the nodes, and or eecuting queued tasks. The back end is modular and conigurable, and developers can implement additional back ends through a simple API. Scientists or their system administrators create each coniguration proile only once, and it will work or any Pydron application. it Figure 5. Partially unrolled or-loop statement. Pydron can eecute () in parallel even though the iterations are not independent because summation (s) must happen sequentially. special translation process. Pydron replaces these statements with lag variables that indicate a control-low interruption and with i blocks that tell it to skip the code ollowing the interrupt statement. Loop tasks are aware o these lag variables and use them to decide i more iterations should be unrolled and i the iteration should end with the else section. BACK-END SUPPORT Datalow evaluation is responsible or creating a queue o tasks that need eecuting. The back end is responsible or starting worker nodes, establishing communication or Cluster and cloud When the application starts, the back end connects to the cluster and requests a number o nodes by opening a Secure Shell (SSH) connection to the cluster s log-in node and eecuting the necessary commands. Commands are ully conigurable. In Pydron s current implementation, nodes keep running until the program inishes, which can entail sending multiple tasks to each node or eecution. The worker nodes start the Python interpreter, which we assume is installed there. A tiny bootstrap script starts a multiphase initialization procedure to transer the Pydron ramework to the worker node. Pydron communicates with the worker nodes through a TCP/IP connection. I irewalls block a direct connection, it routes communication through the log-in node and SSH connection. 46 COMPUTER

7 Pydron then places an import hook in the worker node s Python interpreter, which loads Python modules through the network i a module is not installed on the worker. This step eliminates the need or developers to manually keep an updated version o their projects on each worker node. Cloud support is similar to cluster support, ecept that Pydron irst boots the nodes through a cloud API, such as Apache libcloud ( In Pydron s current implementation, nodes shut down once the program has inished, but our plan is to have more elaborate node management. Multicore support The multicore back end eecutes tasks on the local machine, but in multiple processes that harness the power o all cores. The shared memory on such a machine would enable highly eicient communication. However, Pydron is designed primarily or use on inrastructures and applications without shared memory, which do not require ine-grained communication. Pydron eploits a high-perormance computing inrastructure rom regular, sequential Python code. Our use cases have demonstrated the need or Pydron in real-world applications with methods that can be parallelized at a coarse granularity. Scientists who have tested Pydron have commented on its ease o use and short learning curve. We are working on support or the yield statement and eception handling, which will give Pydron ull support o the Python language. We also plan to release Pydron in irst quarter 2015 under an open source license. We hope that others will see a key lesson in our work: reconciling science and scalable computing is less about optimal inrastructure use and more about simplicity. The main goal should be allowing scientists to ocus on their research instead o on data analysis technology. Reerences 1. E. Jones et al., SciPy: Open Source Scientiic Tools or Python, 2001; 2. J. Bergé et al., An Ultraast Image Generator (UIG) or Wide-Field Astronomy, Astronomy and Computing, vol. 1, Feb. 2013; S A. Amara and S.P. Quanz, PynPoint: An Image Processing Package or Finding Eoplanets, Monthly Notices o the Royal Astronomical Society, vol. 427, no. 2, 2012, pp N. Scoville et al., The Cosmic Evolution Survey (Cosmos): Overview, The Astrophysical J. Supplement Series, vol. 172, no. 1, 2007, p E. Bertin and S. Arnouts, SEtractor: Sotware or Source Etraction, Astronomy & Astrophysics Supplement, vol. 117, June 1996, pp B. Catanzaro et al., SEJITS: Getting Productivity and Perormance with Selective Embedded JIT Specialization, 2009; _SEJITS_Getting_Productivity_and_Perormance_With _Selective_Embedded_JIT_Specialization. 7. A. Rubinsteyn et al., Parakeet: A Just-in-Time Parallel Accelerator or Python, Proc. 4th Useni Con. Hot Topics in Parallelism, 2012; conerence/hotpar12/hotpar12-inal37.pd. 8. M. Wilde et al., Swit: A Language or Distributed Parallel Scripting, Parallel Computing, vol. 37, no. 9, 2011, pp T. Oinn et al., Taverna: Lessons in Creating a Worklow Environment or the Lie Sciences, Concurrency and Computation: Practice and Eperience, vol. 18, no. 10, 2006, pp K.D. Cooper and L. Torczon, Engineering a Compiler, Morgan Kaumann, Stean C. Müller is a PhD student in computer science in the Systems Group at ETH Zürich and a research associate at the Institute o 4D Technologies o the University o Applied Sciences Northwestern Switzerland. His research interests include big data computer systems or natural sciences and machine learning. Müller received an MSc in computer science rom ETH Zürich. Contact him at stean. mueller@hnw.ch. Gustavo Alonso is a proessor o computer science at ETH Zürich. His research interests include system sotware or modern hardware and large-scale data processing. Alonso received a PhD in computer science rom the University o Caliornia, Santa Barbara, and an engineering degree rom Madrid Polytechnic University. He is a Fellow o ACM and IEEE. Contact him at alonso@in.ethz.ch. André Csillaghy is a proessor o computer science at the University o Applied Sciences Northwestern Switzerland. His research interests include inormation integration and data analysis systems or large scientiic data collections. Csillaghy received a PhD in technical sciences rom ETH Zürich. He is a member o the IEEE Computer Society and Swiss Inormatics Society. Contact him at andre.csillaghy@ hnw.ch. Selected CS articles and columns are available or ree at SEPTEMBER

Pydron. Semi-Automatic Parallelization for Astronomy Data Processing. Stefan C. Müller Gustavo Alonso Adam Amara André Csillaghy

Pydron. Semi-Automatic Parallelization for Astronomy Data Processing. Stefan C. Müller Gustavo Alonso Adam Amara André Csillaghy Pydron Semi-Automatic Parallelization for Astronomy Data Processing Stefan C. Müller Gustavo Alonso Adam Amara André Csillaghy Pydron 10/8/2014 1 RHESSI Gustavo Alonso Systems Group ETHZ Adam Amara Institute

More information

Binary recursion. Unate functions. If a cover C(f) is unate in xj, x, then f is unate in xj. x

Binary recursion. Unate functions. If a cover C(f) is unate in xj, x, then f is unate in xj. x Binary recursion Unate unctions! Theorem I a cover C() is unate in,, then is unate in.! Theorem I is unate in,, then every prime implicant o is unate in. Why are unate unctions so special?! Special Boolean

More information

Section II. Nios II Software Development

Section II. Nios II Software Development Section II. Nios II Sotware Development This section o the Embedded Design Handbook describes how to most eectively use the Altera tools or embedded system sotware development, and recommends design styles

More information

A Classification System and Analysis for Aspect-Oriented Programs

A Classification System and Analysis for Aspect-Oriented Programs A Classiication System and Analysis or Aspect-Oriented Programs Martin Rinard, Alexandru Sălcianu, and Suhabe Bugrara Massachusetts Institute o Technology Cambridge, MA 02139 ABSTRACT We present a new

More information

10. SOPC Builder Component Development Walkthrough

10. SOPC Builder Component Development Walkthrough 10. SOPC Builder Component Development Walkthrough QII54007-9.0.0 Introduction This chapter describes the parts o a custom SOPC Builder component and guides you through the process o creating an example

More information

2. Getting Started with the Graphical User Interface

2. Getting Started with the Graphical User Interface February 2011 NII52017-10.1.0 2. Getting Started with the Graphical User Interace NII52017-10.1.0 The Nios II Sotware Build Tools (SBT) or Eclipse is a set o plugins based on the popular Eclipse ramework

More information

A Fault Model Centered Modeling Framework for Self-healing Computing Systems

A Fault Model Centered Modeling Framework for Self-healing Computing Systems A Fault Model Centered Modeling Framework or Sel-healing Computing Systems Wei Lu 1, Yian Zhu 1, Chunyan Ma 1, and Longmei Zhang 2 1 Department o Sotware and Microelectronics, Northwestern Polytechnical

More information

Neighbourhood Operations

Neighbourhood Operations Neighbourhood Operations Neighbourhood operations simply operate on a larger neighbourhood o piels than point operations Origin Neighbourhoods are mostly a rectangle around a central piel Any size rectangle

More information

Formalizing Cardinality-based Feature Models and their Staged Configuration

Formalizing Cardinality-based Feature Models and their Staged Configuration Formalizing Cardinality-based Feature Models and their Staged Coniguration Krzyszto Czarnecki, Simon Helsen, and Ulrich Eisenecker 2 University o Waterloo, Canada 2 University o Applied Sciences Kaiserslautern,

More information

Automated Modelization of Dynamic Systems

Automated Modelization of Dynamic Systems Automated Modelization o Dynamic Systems Ivan Perl, Aleksandr Penskoi ITMO University Saint-Petersburg, Russia ivan.perl, aleksandr.penskoi@corp.imo.ru Abstract Nowadays, dierent kinds o modelling settled

More information

Section III. Advanced Programming Topics

Section III. Advanced Programming Topics Section III. Advanced Programming Topics This section provides inormation about several advanced embedded programming topics. It includes the ollowing chapters: Chapter 8, Exception Handling Chapter 9,

More information

Connecting Definition and Use? Tiger Semantic Analysis. Symbol Tables. Symbol Tables (cont d)

Connecting Definition and Use? Tiger Semantic Analysis. Symbol Tables. Symbol Tables (cont d) Tiger source program Tiger Semantic Analysis lexical analyzer report all lexical errors token get next token parser construct variable deinitions to their uses report all syntactic errors absyn checks

More information

2. Recommended Design Flow

2. Recommended Design Flow 2. Recommended Design Flow This chapter describes the Altera-recommended design low or successully implementing external memory interaces in Altera devices. Altera recommends that you create an example

More information

Reducing Pin and Area Overhead in Fault-Tolerant FPGAbased

Reducing Pin and Area Overhead in Fault-Tolerant FPGAbased Reducing Pin and Area Overhead in Fault-Tolerant FPGAbased Designs Fernanda Lima Luigi Carro Ricardo Reis Universidade Federal do Rio Grande do Sul PPGC - Instituto de Inormática - DELET Caia Postal: 15064,

More information

Abstract. I. Introduction

Abstract. I. Introduction 46th AIAA/ASME/ASCE/AHS/ASC Structures, Structural Dynamics & Materials Conerence 8 - April 005, Austin, Texas AIAA 005-83 M Intuitive Design Selection Using Visualized n-dimensional Pareto Frontier G.

More information

Gustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2

Gustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2 Chapter 1: Distributed Information Systems Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ Contents - Chapter 1 Design

More information

Using VCS with the Quartus II Software

Using VCS with the Quartus II Software Using VCS with the Quartus II Sotware December 2002, ver. 1.0 Application Note 239 Introduction As the design complexity o FPGAs continues to rise, veriication engineers are inding it increasingly diicult

More information

First Video Streaming Experiments on a Time Driven Priority Network

First Video Streaming Experiments on a Time Driven Priority Network First Video Streaming Experiments on a Driven Priority Network Mario Baldi and Guido Marchetto Department o Control and Computer Engineering Politecnico di Torino (Technical University o Torino) Abstract

More information

Proportional-Share Scheduling for Distributed Storage Systems

Proportional-Share Scheduling for Distributed Storage Systems Proportional-Share Scheduling or Distributed Storage Systems Abstract Yin Wang University o Michigan yinw@eecs.umich.edu Fully distributed storage systems have gained popularity in the past ew years because

More information

A Requirement Specification Language for Configuration Dynamics of Multiagent Systems

A Requirement Specification Language for Configuration Dynamics of Multiagent Systems A Requirement Speciication Language or Coniguration Dynamics o Multiagent Systems Mehdi Dastani, Catholijn M. Jonker, Jan Treur* Vrije Universiteit Amsterdam, Department o Artiicial Intelligence, De Boelelaan

More information

Structured Parallel Programming with Deterministic Patterns

Structured Parallel Programming with Deterministic Patterns Structured Parallel Programming with Deterministic Patterns May 14, 2010 USENIX HotPar 2010, Berkeley, Caliornia Michael McCool, Sotware Architect, Ct Technology Sotware and Services Group, Intel Corporation

More information

9.8 Graphing Rational Functions

9.8 Graphing Rational Functions 9. Graphing Rational Functions Lets begin with a deinition. Deinition: Rational Function A rational unction is a unction o the orm P where P and Q are polynomials. Q An eample o a simple rational unction

More information

2. Design Planning with the Quartus II Software

2. Design Planning with the Quartus II Software November 2013 QII51016-13.1.0 2. Design Planning with the Quartus II Sotware QII51016-13.1.0 This chapter discusses key FPGA design planning considerations, provides recommendations, and describes various

More information

Intelligent knowledge-based system for the automated screwing process control

Intelligent knowledge-based system for the automated screwing process control Intelligent knowledge-based system or the automated screwing process control YULIYA LEBEDYNSKA yuliya.lebedynska@tu-cottbus.de ULRICH BERGER Chair o automation Brandenburg University o Technology Cottbus

More information

SUPER RESOLUTION IMAGE BY EDGE-CONSTRAINED CURVE FITTING IN THE THRESHOLD DECOMPOSITION DOMAIN

SUPER RESOLUTION IMAGE BY EDGE-CONSTRAINED CURVE FITTING IN THE THRESHOLD DECOMPOSITION DOMAIN SUPER RESOLUTION IMAGE BY EDGE-CONSTRAINED CURVE FITTING IN THE THRESHOLD DECOMPOSITION DOMAIN Tsz Chun Ho and Bing Zeng Department o Electronic and Computer Engineering The Hong Kong University o Science

More information

13. Power Optimization

13. Power Optimization 13. Power Optimization May 2013 QII52016-13.0.0 QII52016-13.0.0 The Quartus II sotware oers power-driven compilation to ully optimize device power consumption. Power-driven compilation ocuses on reducing

More information

Proceedings of the Sixth International Workshop on Graph Transformation and Visual Modeling Techniques (GT-VMT 2007)

Proceedings of the Sixth International Workshop on Graph Transformation and Visual Modeling Techniques (GT-VMT 2007) Electronic Communications o the EASST Volume X (2007) Proceedings o the Sixth International Workshop on Graph Transormation and Visual Modeling Techniques (GT-VMT 2007) Visual Programming with Recursion

More information

Using the Nios II Configuration Controller Reference Designs

Using the Nios II Configuration Controller Reference Designs Using the Nios II Controller Reerence Designs AN-346-1.2 March 2009 Introduction This application note describes coniguration controller reerence designs or Nios II systems using Altera Stratix II, Cyclone

More information

MATRIX ALGORITHM OF SOLVING GRAPH CUTTING PROBLEM

MATRIX ALGORITHM OF SOLVING GRAPH CUTTING PROBLEM UDC 681.3.06 MATRIX ALGORITHM OF SOLVING GRAPH CUTTING PROBLEM V.K. Pogrebnoy TPU Institute «Cybernetic centre» E-mail: vk@ad.cctpu.edu.ru Matrix algorithm o solving graph cutting problem has been suggested.

More information

The Use of the No-Instruction-Set Computer (NISC) for Acceleration in WISHBONE-Based Systems

The Use of the No-Instruction-Set Computer (NISC) for Acceleration in WISHBONE-Based Systems The Use o the No-Instruction-Set Computer () or Acceleration in WISHBONE-Based Systems Roko Grubišić, Vlado Sruk Technical Report 11-14-2008 Department o Electronics, Microelectronics, Computer and Intelligent

More information

Data Modeling and Databases Ch 10: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich

Data Modeling and Databases Ch 10: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Data Modeling and Databases Ch 10: Query Processing - Algorithms Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Transactions (Locking, Logging) Metadata Mgmt (Schema, Stats) Application

More information

A Novel Accurate Genetic Algorithm for Multivariable Systems

A Novel Accurate Genetic Algorithm for Multivariable Systems World Applied Sciences Journal 5 (): 137-14, 008 ISSN 1818-495 IDOSI Publications, 008 A Novel Accurate Genetic Algorithm or Multivariable Systems Abdorreza Alavi Gharahbagh and Vahid Abolghasemi Department

More information

A MULTI-LEVEL IMAGE DESCRIPTION MODEL SCHEME BASED ON DIGITAL TOPOLOGY

A MULTI-LEVEL IMAGE DESCRIPTION MODEL SCHEME BASED ON DIGITAL TOPOLOGY In: Stilla U et al (Eds) PIA7. International Archives o Photogrammetry, Remote Sensing and Spatial Inormation Sciences, 36 (3/W49B) A MULTI-LEVEL IMAGE DESCRIPTION MODEL SCHEME BASED ON DIGITAL TOPOLOG

More information

AC : DEVELOPMENT OF A ROBOTIC PLATFORM FOR TEACH- ING MODEL-BASED DESIGN TECHNIQUES IN DYNAMICS AND CON- TROL PROGRAM

AC : DEVELOPMENT OF A ROBOTIC PLATFORM FOR TEACH- ING MODEL-BASED DESIGN TECHNIQUES IN DYNAMICS AND CON- TROL PROGRAM AC 011-714: DEVELOPMENT OF A ROBOTIC PLATFORM FOR TEACH- ING MODEL-BASED DESIGN TECHNIQUES IN DYNAMICS AND CON- TROL PROGRAM Bingen Yang, University o Southern Caliornia Dr. Bingen Yang is Proessor o Aerospace

More information

Data Modeling and Databases Ch 9: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich

Data Modeling and Databases Ch 9: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Data Modeling and Databases Ch 9: Query Processing - Algorithms Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Transactions (Locking, Logging) Metadata Mgmt (Schema, Stats) Application

More information

EE 264: Image Processing and Reconstruction. Image Motion Estimation II. EE 264: Image Processing and Reconstruction. Outline

EE 264: Image Processing and Reconstruction. Image Motion Estimation II. EE 264: Image Processing and Reconstruction. Outline Peman Milanar Image Motion Estimation II Peman Milanar Outline. Introduction to Motion. Wh Estimate Motion? 3. Global s. Local Motion 4. Block Motion Estimation 5. Optical Flow Estimation Basics 6. Optical

More information

Building Interpreters

Building Interpreters Building Interpreters Mool Sagiv html://www.cs.tau.ac.il/~msagiv/courses/wcc13.html Chapter 4 1 Structure of a simple compiler/interpreter Leical analsis Snta analsis Runtime Sstem Design Intermediate

More information

Research Article Synthesis of Test Scenarios Using UML Sequence Diagrams

Research Article Synthesis of Test Scenarios Using UML Sequence Diagrams International Scholarly Research Network ISRN Sotware Engineering Volume 2012, Article ID 324054, 22 pages doi:10.5402/2012/324054 Research Article Synthesis o Test Scenarios Using UML Sequence Diagrams

More information

Proceedings of HotOS IX: The 9th Workshop on Hot Topics in Operating Systems

Proceedings of HotOS IX: The 9th Workshop on Hot Topics in Operating Systems USENIX Association Proceedings o HotOS IX: The 9th Workshop on Hot Topics in Operating Systems Lihue, Hawaii, USA May 18 21, 2003 THE ADVANCED COMPUTING SYSTEMS ASSOCIATION 2003 by The USENIX Association

More information

Decision Support Systems for E-Purchasing using Case-Based Reasoning and Rating Based Collaborative Filtering

Decision Support Systems for E-Purchasing using Case-Based Reasoning and Rating Based Collaborative Filtering Decision Support Systems or E-Purchasing using Case-Based Reasoning and Rating Based Collaborative Filtering ABSTRACT The amount o trade conducted electronically has grown dramatically since the wide introduction

More information

Modeling and Analysis of Workflow Based on TLA

Modeling and Analysis of Workflow Based on TLA JOURNAL OF COMPUTERS, VOL. 4, NO. 1, JANUARY 2009 27 Modeling and Analysis o Worklow Based on TLA CHEN Shu Wu Han University Computer Science Department, Wu Han China Email: Chenshu181@yahoo.com.cn WU

More information

Multiple attenuation with a modified parabolic Radon transform B. Ursin*, B. Abbad, NTNU, Trondheim, Norway, M. J. Porsani, UFBA, Salvador, Brazil.

Multiple attenuation with a modified parabolic Radon transform B. Ursin*, B. Abbad, NTNU, Trondheim, Norway, M. J. Porsani, UFBA, Salvador, Brazil. Multiple attenuation with a modiied parabolic Radon transorm B. Ursin* B. Abbad TU Trondheim orway M. J. Porsani UFBA Salvador Brazil. Copyright 009 SBG - Sociedade Brasileira de Geoísica This paper was

More information

Effective Static Race Detection for Java. Part I. Chord. Chord. Chord. Chord - Overview. Problems addressed

Effective Static Race Detection for Java. Part I. Chord. Chord. Chord. Chord - Overview. Problems addressed Eective Static Race Detection or Java Mayer Naik, Alex Aiken, John Whaley Part I Introduction to Chord and Preliminaries presented by Matt McGill Chord Chord Chord is a static (data) race detection tool

More information

The λ-calculus. 1 Background on Computability. 2 Programming Paradigms and Functional Programming. 1.1 Alan Turing. 1.

The λ-calculus. 1 Background on Computability. 2 Programming Paradigms and Functional Programming. 1.1 Alan Turing. 1. The λ-calculus 1 Background on Computability The history o computability stretches back a long ways, but we ll start here with German mathematician David Hilbert in the 1920s. Hilbert proposed a grand

More information

Managing IIS with PowerShell

Managing IIS with PowerShell 3 Managing IIS with PowerShell In this chapter we will cover the ollowing recipes: Installing and coniguring IIS Coniguring IIS or SSL Coniguring a Central Certiicate Store Coniguring IIS bindings Coniguring

More information

Semi-Supervised SVMs for Classification with Unknown Class Proportions and a Small Labeled Dataset

Semi-Supervised SVMs for Classification with Unknown Class Proportions and a Small Labeled Dataset Semi-Supervised SVMs or Classiication with Unknown Class Proportions and a Small Labeled Dataset S Sathiya Keerthi Yahoo! Labs Santa Clara, Caliornia, U.S.A selvarak@yahoo-inc.com Bigyan Bhar Indian Institute

More information

ROBUST FACE DETECTION UNDER CHALLENGES OF ROTATION, POSE AND OCCLUSION

ROBUST FACE DETECTION UNDER CHALLENGES OF ROTATION, POSE AND OCCLUSION ROBUST FACE DETECTION UNDER CHALLENGES OF ROTATION, POSE AND OCCLUSION Phuong-Trinh Pham-Ngoc, Quang-Linh Huynh Department o Biomedical Engineering, Faculty o Applied Science, Hochiminh University o Technology,

More information

ITU - Telecommunication Standardization Sector. G.fast: Far-end crosstalk in twisted pair cabling; measurements and modelling ABSTRACT

ITU - Telecommunication Standardization Sector. G.fast: Far-end crosstalk in twisted pair cabling; measurements and modelling ABSTRACT ITU - Telecommunication Standardization Sector STUDY GROUP 15 Temporary Document 11RV-22 Original: English Richmond, VA. - 3-1 Nov. 211 Question: 4/15 SOURCE 1 : TNO TITLE: G.ast: Far-end crosstalk in

More information

Computer Data Analysis and Plotting

Computer Data Analysis and Plotting Phys 122 February 6, 2006 quark%//~bland/docs/manuals/ph122/pcintro/pcintro.doc Computer Data Analysis and Plotting In this lab we will use Microsot EXCEL to do our calculations. This program has been

More information

Automated Planning for Feature Model Configuration based on Functional and Non-Functional Requirements

Automated Planning for Feature Model Configuration based on Functional and Non-Functional Requirements Automated Planning or Feature Model Coniguration based on Functional and Non-Functional Requirements Samaneh Soltani 1, Mohsen Asadi 1, Dragan Gašević 2, Marek Hatala 1, Ebrahim Bagheri 2 1 Simon Fraser

More information

Design and implementation of enterprise systems in fine-grained concurrent computation

Design and implementation of enterprise systems in fine-grained concurrent computation Available online at www.sciencedirect.com Procedia Technology 5 (2012 ) 344 353 CENTERIS 2012 - Conerence on ENTERprise Inormation Systems / HCIST 2012 - International Conerence on Health and Social Care

More information

Lecture 19: Memory Hierarchy: Cache Design. Recap: Basic Cache Parameters

Lecture 19: Memory Hierarchy: Cache Design. Recap: Basic Cache Parameters S 09 L19-1 18-447 Lecture 19: Memory Hierarchy: Cache Design James C. Hoe Dept of ECE, CMU April 6, 2009 Announcements: Ckpt 1 bonus reminder Graded midterms You are invited to attend Amdahl's Law in the

More information

Compiler construction

Compiler construction This lecture Compiler construction Lecture 5: Project etensions Magnus Mreen Spring 2018 Chalmers Universit o Technolog Gothenburg Universit Some project etensions: Arras Pointers and structures Object-oriented

More information

Research on Image Splicing Based on Weighted POISSON Fusion

Research on Image Splicing Based on Weighted POISSON Fusion Research on Image Splicing Based on Weighted POISSO Fusion Dan Li, Ling Yuan*, Song Hu, Zeqi Wang School o Computer Science & Technology HuaZhong University o Science & Technology Wuhan, 430074, China

More information

Topic B (Cont d) Dataflow Model of Computation

Topic B (Cont d) Dataflow Model of Computation opic B (Cont d) Dataflow Model of Computation Guang R. Gao ACM ellow and IEEE ellow Endowed Distinguished Professor Electrical & Computer Engineering University of Delaware ggao@capsl.udel.edu 09/07/20

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

The λ-calculus. 1 Background on Computability. 2 Some Intuition for the λ-calculus. 1.1 Alan Turing. 1.2 Alonzo Church

The λ-calculus. 1 Background on Computability. 2 Some Intuition for the λ-calculus. 1.1 Alan Turing. 1.2 Alonzo Church The λ-calculus 1 Background on Computability The history o computability stretches back a long ways, but we ll start here with German mathematician David Hilbert in the 1920s. Hilbert proposed a grand

More information

9. Reviewing Printed Circuit Board Schematics with the Quartus II Software

9. Reviewing Printed Circuit Board Schematics with the Quartus II Software November 2012 QII52019-12.1.0 9. Reviewing Printed Circuit Board Schematics with the Quartus II Sotware QII52019-12.1.0 This chapter provides guidelines or reviewing printed circuit board (PCB) schematics

More information

AN 459: Guidelines for Developing a Nios II HAL Device Driver

AN 459: Guidelines for Developing a Nios II HAL Device Driver AN 459: Guidelines or Developing a Nios II HAL Device Driver November 2008 AN-459-2.0 Introduction This application note explains the process o developing and debugging a hardware abstraction layer (HAL)

More information

Chapter 3 Image Enhancement in the Spatial Domain

Chapter 3 Image Enhancement in the Spatial Domain Chapter 3 Image Enhancement in the Spatial Domain Yinghua He School o Computer Science and Technology Tianjin University Image enhancement approaches Spatial domain image plane itsel Spatial domain methods

More information

Frequently asked questions from the previous class survey

Frequently asked questions from the previous class survey CS 370: OPERATING SYSTEMS [THREADS] Shrideep Pallickara Computer Science Colorado State University L7.1 Frequently asked questions from the previous class survey When a process is waiting, does it get

More information

Reducing the Bandwidth of a Sparse Matrix with Tabu Search

Reducing the Bandwidth of a Sparse Matrix with Tabu Search Reducing the Bandwidth o a Sparse Matrix with Tabu Search Raael Martí a, Manuel Laguna b, Fred Glover b and Vicente Campos a a b Dpto. de Estadística e Investigación Operativa, Facultad de Matemáticas,

More information

A Proposed Approach for Solving Rough Bi-Level. Programming Problems by Genetic Algorithm

A Proposed Approach for Solving Rough Bi-Level. Programming Problems by Genetic Algorithm Int J Contemp Math Sciences, Vol 6, 0, no 0, 45 465 A Proposed Approach or Solving Rough Bi-Level Programming Problems by Genetic Algorithm M S Osman Department o Basic Science, Higher Technological Institute

More information

Managing Hyper-V with PowerShell

Managing Hyper-V with PowerShell 4 Managing Hyper-V with PowerShell In this chapter we are going to cover the ollowing recipes: Installing and coniguring Hyper-V Coniguring NUMA Securing Hyper-V Hyper-V networking Creating virtual machines

More information

TOOLS FOR IMPROVING CROSS-PLATFORM SOFTWARE DEVELOPMENT

TOOLS FOR IMPROVING CROSS-PLATFORM SOFTWARE DEVELOPMENT TOOLS FOR IMPROVING CROSS-PLATFORM SOFTWARE DEVELOPMENT Eric Kelmelis 28 March 2018 OVERVIEW BACKGROUND Evolution of processing hardware CROSS-PLATFORM KERNEL DEVELOPMENT Write once, target multiple hardware

More information

Parallel Programming Patterns Overview CS 472 Concurrent & Parallel Programming University of Evansville

Parallel Programming Patterns Overview CS 472 Concurrent & Parallel Programming University of Evansville Parallel Programming Patterns Overview CS 472 Concurrent & Parallel Programming of Evansville Selection of slides from CIS 410/510 Introduction to Parallel Computing Department of Computer and Information

More information

Study and Analysis of Edge Detection and Implementation of Fuzzy Set. Theory Based Edge Detection Technique in Digital Images

Study and Analysis of Edge Detection and Implementation of Fuzzy Set. Theory Based Edge Detection Technique in Digital Images Study and Analysis o Edge Detection and Implementation o Fuzzy Set Theory Based Edge Detection Technique in Digital Images Anju K S Assistant Proessor, Department o Computer Science Baselios Mathews II

More information

TO meet the increasing bandwidth demands and reduce

TO meet the increasing bandwidth demands and reduce Assembling TCP/IP Packets in Optical Burst Switched Networks Xiaojun Cao Jikai Li Yang Chen Chunming Qiao Department o Computer Science and Engineering State University o New York at Bualo Bualo, NY -

More information

An Analytic Model for Embedded Machine Vision: Architecture and Performance Exploration

An Analytic Model for Embedded Machine Vision: Architecture and Performance Exploration 419 An Analytic Model or Embedded Machine Vision: Architecture and Perormance Exploration Chan Kit Wai, Prahlad Vadakkepat, Tan Kok Kiong Department o Electrical and Computer Engineering, 4 Engineering

More information

Grand Central Dispatch

Grand Central Dispatch A better way to do multicore. (GCD) is a revolutionary approach to multicore computing. Woven throughout the fabric of Mac OS X version 10.6 Snow Leopard, GCD combines an easy-to-use programming model

More information

Ad-hoc Workflow: Problems and Solutions

Ad-hoc Workflow: Problems and Solutions Ad-hoc Worklow: Problems and Solutions M. Voorhoeve and W. van der Aalst Dept. o Mathematics and Computing Science Eindhoven University o Technology Eindhoven, The Netherlands, 5600MB Abstract The paper

More information

Harp-DAAL for High Performance Big Data Computing

Harp-DAAL for High Performance Big Data Computing Harp-DAAL for High Performance Big Data Computing Large-scale data analytics is revolutionizing many business and scientific domains. Easy-touse scalable parallel techniques are necessary to process big

More information

A Cartesian Grid Method with Transient Anisotropic Adaptation

A Cartesian Grid Method with Transient Anisotropic Adaptation Journal o Computational Physics 179, 469 494 (2002) doi:10.1006/jcph.2002.7067 A Cartesian Grid Method with Transient Anisotropic Adaptation F. E. Ham, F. S. Lien, and A. B. Strong Department o Mechanical

More information

Certificate Translation for Optimizing Compilers

Certificate Translation for Optimizing Compilers Certiicate Translation or Optimizing Compilers Gilles Barthe IMDEA Sotware and Benjamin Grégoire and César Kunz and Tamara Rezk INRIA Sophia Antipolis - Méditerranée Proo Carrying Code provides trust in

More information

1.1 What is Microeconomics?

1.1 What is Microeconomics? 1.1 What is Microeconomics? Economics is the study of allocating limited resources to satisfy unlimited wants. Such a tension implies tradeoffs among competing goals. The analysis can be carried out at

More information

Trust Management Issues for Ad Hoc and Self-organized Networks

Trust Management Issues for Ad Hoc and Self-organized Networks Trust Management Issues or Ad Hoc and Sel-organized Networks Vassileios Tsetsos, Giannis F. Marias, and Sarantis Paskalis Pervasive Computing Research Group, Dept. o Inormatics and Telecommunications,

More information

Counting Interface Automata and their Application in Static Analysis of Actor Models

Counting Interface Automata and their Application in Static Analysis of Actor Models Counting Interace Automata and their Application in Static Analysis o Actor Models Ernesto Wandeler Jörn W. Janneck Edward A. Lee Lothar Thiele Abstract We present an interace theory based approach to

More information

Typical workflow. CSE341: Programming Languages. Lecture 17 Implementing Languages Including Closures. Reality more complicated

Typical workflow. CSE341: Programming Languages. Lecture 17 Implementing Languages Including Closures. Reality more complicated Typical workflow concrete synta (string) "(fn => + ) 4" Parsing CSE341: Programming Languages abstract synta (tree) Lecture 17 Implementing Languages Including Closures Function Constant + 4 Var Var Type

More information

Applying fair queueing and traffic shaping for Internet applications on top of ATM The LB_SCFQ algorithm

Applying fair queueing and traffic shaping for Internet applications on top of ATM The LB_SCFQ algorithm Applying air queueing and traic shaping or Internet applications on top o ATM The LB_SCFQ algorithm Abstract Fair queueing mechanisms give very promising results or ATM networks. Combining a air queueing

More information

EE382N (20): Computer Architecture - Parallelism and Locality Fall 2011 Lecture 11 Parallelism in Software II

EE382N (20): Computer Architecture - Parallelism and Locality Fall 2011 Lecture 11 Parallelism in Software II EE382 (20): Computer Architecture - Parallelism and Locality Fall 2011 Lecture 11 Parallelism in Software II Mattan Erez The University of Texas at Austin EE382: Parallelilsm and Locality, Fall 2011 --

More information

Measuring the Vulnerability of Interconnection. Networks in Embedded Systems. University of Massachusetts, Amherst, MA 01003

Measuring the Vulnerability of Interconnection. Networks in Embedded Systems. University of Massachusetts, Amherst, MA 01003 Measuring the Vulnerability o Interconnection Networks in Embedded Systems V. Lakamraju, Z. Koren, I. Koren, and C. M. Krishna Department o Electrical and Computer Engineering University o Massachusetts,

More information

Serial. Parallel. CIT 668: System Architecture 2/14/2011. Topics. Serial and Parallel Computation. Parallel Computing

Serial. Parallel. CIT 668: System Architecture 2/14/2011. Topics. Serial and Parallel Computation. Parallel Computing CIT 668: System Architecture Parallel Computing Topics 1. What is Parallel Computing? 2. Why use Parallel Computing? 3. Types of Parallelism 4. Amdahl s Law 5. Flynn s Taxonomy of Parallel Computers 6.

More information

PATH PLANNING OF UNMANNED AERIAL VEHICLE USING DUBINS GEOMETRY WITH AN OBSTACLE

PATH PLANNING OF UNMANNED AERIAL VEHICLE USING DUBINS GEOMETRY WITH AN OBSTACLE Proceeding o International Conerence On Research, Implementation And Education O Mathematics And Sciences 2015, Yogyakarta State University, 17-19 May 2015 PATH PLANNING OF UNMANNED AERIAL VEHICLE USING

More information

EE382N (20): Computer Architecture - Parallelism and Locality Spring 2015 Lecture 14 Parallelism in Software I

EE382N (20): Computer Architecture - Parallelism and Locality Spring 2015 Lecture 14 Parallelism in Software I EE382 (20): Computer Architecture - Parallelism and Locality Spring 2015 Lecture 14 Parallelism in Software I Mattan Erez The University of Texas at Austin EE382: Parallelilsm and Locality, Spring 2015

More information

DSP Design Flow User Guide

DSP Design Flow User Guide DSP Design Flow User Guide 101 Innovation Drive San Jose, CA 95134 www.altera.com Document Date: June 2009 Copyright 2009 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company,

More information

Design of Parallel Algorithms. Models of Parallel Computation

Design of Parallel Algorithms. Models of Parallel Computation + Design of Parallel Algorithms Models of Parallel Computation + Chapter Overview: Algorithms and Concurrency n Introduction to Parallel Algorithms n Tasks and Decomposition n Processes and Mapping n Processes

More information

Status. We ll do code generation first... Outline

Status. We ll do code generation first... Outline Status Run-time Environments Lecture 11 We have covered the ront-end phases Lexical analysis Parsin Semantic analysis Next are the back-end phases Optimization Code eneration We ll do code eneration irst...

More information

On the Double-Faced Nature of P2P Traffic

On the Double-Faced Nature of P2P Traffic On the Double-Faced Nature o P2P Traic Raaele Bolla, Marco Canini, Riccardo Rapuzzi, Michele Sciuto DIST - Department o Communication, Computer and System Sciences, University o Genoa Via Opera Pia 13,

More information

Comparison of Two Interactive Search Refinement Techniques

Comparison of Two Interactive Search Refinement Techniques Comparison o Two Interactive Search Reinement Techniques Olga Vechtomova Department o Management Sciences University o Waterloo 200 University Avenue West, Waterloo, Canada ovechtom@engmail.uwaterloo.ca

More information

The Extract-Transform-Rewrite Cycle A Step towards MetaCARE

The Extract-Transform-Rewrite Cycle A Step towards MetaCARE The Etract-Transorm-Rewrite Ccle A Step towards MetaCARE Jürgen Ebert Bernt Kullbach Andreas Panse Institute or Sotware Technolog Universit o Koblenz 56075 Koblenz, German (ebertjkullbachjpanse)@inormatik.uni-koblenz.de

More information

A new approach for ranking trapezoidal vague numbers by using SAW method

A new approach for ranking trapezoidal vague numbers by using SAW method Science Road Publishing Corporation Trends in Advanced Science and Engineering ISSN: 225-6557 TASE 2() 57-64, 20 Journal homepage: http://www.sciroad.com/ntase.html A new approach or ranking trapezoidal

More information

Message authentication

Message authentication Message authentication -- Reminder on hash unctions -- MAC unctions hash based block cipher based -- Digital signatures (c) Levente Buttyán (buttyan@crysys.hu) Hash unctions a hash unction is a unction

More information

Lagrangian relaxations for multiple network alignment

Lagrangian relaxations for multiple network alignment Noname manuscript No. (will be inserted by the editor) Lagrangian relaxations or multiple network alignment Eric Malmi Sanjay Chawla Aristides Gionis Received: date / Accepted: date Abstract We propose

More information

Scalable Test Problems for Evolutionary Multi-Objective Optimization

Scalable Test Problems for Evolutionary Multi-Objective Optimization Scalable Test Problems or Evolutionary Multi-Objective Optimization Kalyanmoy Deb Kanpur Genetic Algorithms Laboratory Indian Institute o Technology Kanpur PIN 8 6, India deb@iitk.ac.in Lothar Thiele,

More information

IBM Data Science Experience White paper. SparkR. Transforming R into a tool for big data analytics

IBM Data Science Experience White paper. SparkR. Transforming R into a tool for big data analytics IBM Data Science Experience White paper R Transforming R into a tool for big data analytics 2 R Executive summary This white paper introduces R, a package for the R statistical programming language that

More information

THE COMPARISON OF PARALLEL SORTING ALGORITHMS IMPLEMENTED ON DIFFERENT HARDWARE PLATFORMS

THE COMPARISON OF PARALLEL SORTING ALGORITHMS IMPLEMENTED ON DIFFERENT HARDWARE PLATFORMS Computer Science 14 (4) 2013 http://dx.doi.org/10.7494/csci.2013.14.4.679 Dominik Żurek Marcin Pietroń Maciej Wielgosz Kazimierz Wiatr THE COMPARISON OF PARALLEL SORTING ALGORITHMS IMPLEMENTED ON DIFFERENT

More information

AUTOMATING THE DESIGN OF SOUND SYNTHESIS TECHNIQUES USING EVOLUTIONARY METHODS. Ricardo A. Garcia *

AUTOMATING THE DESIGN OF SOUND SYNTHESIS TECHNIQUES USING EVOLUTIONARY METHODS. Ricardo A. Garcia * AUTOMATING THE DESIGN OF SOUND SYNTHESIS TECHNIQUES USING EVOLUTIONARY METHODS Ricardo A. Garcia * MIT Media Lab Machine Listening Group 20 Ames St., E5-49, Cambridge, MA 0239 rago@media.mit.edu ABSTRACT

More information

Name Class Date. To translate three units to the left, 3 from the -coordinate. To translate two units down, 2 from the -coordinate.

Name Class Date. To translate three units to the left, 3 from the -coordinate. To translate two units down, 2 from the -coordinate. Name Class Date 1-1 Eploring Transormations Going Deeper Essential question: What patterns govern transormations o unctions? 1 F-BF.2.3 EXPLORE Translating Points Translate the point (-2, 5) three units

More information

MULTI-MODAL DIAGNOSTICS FOR VEHICLE FAULT DETECTION. Matthew L. Schwall and J. Christian Gerdes

MULTI-MODAL DIAGNOSTICS FOR VEHICLE FAULT DETECTION. Matthew L. Schwall and J. Christian Gerdes Proceedings o IMECE2: 2 ASME International Mechanical Engineering Congress and Exposition November 6, 2, New York, NY IMECE2/DSCB-6 MULTI-MODAL DIAGNOSTICS FOR VEHICLE FAULT DETECTION Matthew L. Schwall

More information

PowerShell Scripting

PowerShell Scripting PowerShell Scripting In this chapter we will cover the ollowing recipes: Managing security on PowerShell scripts Creating and using unctions Creating and using modules Creating and using PowerShell proiles

More information