Concurrent and Distributed Programming Patterns

download Concurrent and Distributed Programming Patterns

If you can't read please download the document

description

Concurrent and Distributed Programming Patterns. Carlos Varela RPI April 26, 2010. Overview. A motivating application in AstroInformatics Programming techniques and patterns farmer-worker computations, iterative computations, peer-to-peer agent networks, - PowerPoint PPT Presentation

Transcript of Concurrent and Distributed Programming Patterns

  • Concurrent and Distributed Programming Patterns

    Carlos VarelaRPI

    April 26, 2010

    C. Varela

  • OverviewA motivating application in AstroInformaticsProgramming techniques and patternsfarmer-worker computations, iterative computations, peer-to-peer agent networks, soft real-time: priorities, delayscausal connections: named tokens, waitfor propertyDistributed runtime architecture (World-Wide Computer)architecture and implementationdistributed garbage collectionAutonomic computing (Internet Operating System)autonomous migrationsplit and mergeDistributed systems visualization (OverView)

    C. Varela

  • Milky Way Origin and StructurePrincipal Investigators:H. Newberg (RPI Astronomy), M. Magdon-Ismail, B. Szymanski, C. Varela (RPI CS)Students:N. Cole (RPI Astronomy), T. Desell, J. Doran (RPI CS)Problem Statement:What is the structure and origin of the Milky Way galaxy?How to analyze data from 10,000 square degrees of the north galactic cap collected in five optical filters over five years by the Sloan Digital Sky Survey?Applications/Implications:Astrophysics: origins and evolution of our galaxy.Approach:Experimental data analysis and simulationTo use photometric and spectroscopic data for millions of stars to separate and describe components of the Milky WaySoftware: Generic Maximum Likelihood Evaluation (GMLE) framework.MilkyWay@Home BOINC project.

    C. Varela

  • How Do Galaxies Form?Ben Moore, Inst. Of Theo. Phys., Zurich

    C. Varela

  • Tidal StreamsSmaller galaxy gets tidally disrupted by larger galaxy

    Good tracer of galactic potential/dark matter

    Sagittarius Dwarf Galaxy currently being disrupted

    Three other known streams thought to be associated with dwarf galaxiesKathryn V. Johnston, Wesleyan Univ.

    C. Varela

  • Sloan Digital Sky Survey DataSDSS~ 9,600 sq. deg.~ 287, 000, 000 objects~ 10.0 TB (images)

    SEGUE~ 1,200 sq. deg. ~ 57, 000, 000 objects

    GAIA (2010-2012)Over one billion estimated starshttp://www.sdss.org

    C. Varela

  • Map of Rensselaer Grid ClustersCS CS /WCLMultiscaleBioscience ClusterMultipurpose ClusterNanotechCCNI

    C. Varela

  • Maximum Likelihood Evaluation on RPI Grid and BlueGene/L Supercomputer~100x Speedup1.5 Day Runtime~230x Speedup
  • Programming Patterns

    C. Varela

  • Farmer Worker Computations Most common Massively Parallel type of computation Workers repeatedly request tasks or jobs from farmer and process them

    C. Varela

  • Farmer Worker Computations. . .FarmerWorker 1Worker ngetgetgetgetgetrecrecrecrecrecprocessprocessprocess

    C. Varela

  • Iterative Computations Common pattern for partial differential equations, scientific computing and distributed simulation Workers connected to neighbors Data location dependent Workers process an iteration with results from neighbors, then send results to neighbors Performance bounded by slowest worker

    C. Varela

  • Iterative Farmer/Worker. . .FarmerWorker 1Worker nprocessprocessprocessprocessprocessprocessprocess

    C. Varela

  • Iterative P2PWorker 1Worker 2Worker 3Worker 4comm.processcomm.processcomm.process

    C. Varela

  • Case Study: Heat Diffusion ProblemA problem that models heat transfer in a solid

    A two-dimensional mesh is used to represent the problem data space

    An Iterative Application

    Highly synchronized

    C. Varela

  • Parallel Decomposition of the Heat Problem

    C. Varela

  • Peer-to-Peer Computations

    C. Varela

  • Peer-to-peer systems (1)Network transparency works well for a small number of nodes; what do we do when the number of nodes becomes very large?This is what is happening nowWe need a scalable way to handle large numbers of nodesPeer-to-peer systems provide one solutionA distributed system that connects resources located at the edges of the InternetResources: storage, computation power, information, etc.Peer software: all nodes are functionally equivalentDynamicPeers join and leave frequentlyFailures are unavoidable

    C. Varela

  • Peer-to-peer systems (2)Unstructured systemsNapster (first generation): still had centralized directoryGnutella, Kazaa, (second generation): neighbor graph, fully decentralized but no guarantees, often uses superpeer structureStructured overlay networks (third generation)Using non-random topologiesStrong guarantees on routing and message deliveryTesting on realistically harsh environments (e.g., PlanetLab)DHT (Distributed Hash Table) provides lookup functionalityMany examples: Chord, CAN, Pastry, Tapestry, P-Grid, DKS, Viceroy, Tango, Koorde, etc.

    C. Varela

  • Examples of P2P networksHybrid (client/server)Napster

    Unstructured P2PGnutella

    Structured P2PExponential networkDHT (Distributed Hash Table), e.g., ChordR = N-1 (hub)R = 1 (others)H = 1R = ? (variable)H = 17(but no guarantee)R = log NH = log N(with guarantee)

    C. Varela

  • Properties ofstructured overlay networksScalableWorks for any number of nodesSelf organizingRouting tables updated with node joins/leavesRouting tables updated with node failuresProvides guaranteesIf operated inside of failure model, then communication is guaranteed with an upper bound on number of hopsBroadcast can be done with a minimum number of messagesProvides basic servicesName-based communication (point-to-point and group)DHT (Distributed Hash Table): efficient storage and retrieval of (key,value) pairs

    C. Varela

  • Self organizationMaintaining the routing tablesCorrection-on-use (lazy approach)Periodic correction (eager approach)Guided by assumptions on trafficCostDepends on structureA typical algorithm, DKS (distributed k-ary search), achieves logarithmic cost for reconfiguration and for key resolution (lookup)Example of lookup for Chord, the first well-known structured overlay network

    C. Varela

  • Chord: lookup illustratedIndicates presence of a nodeGiven a key, find the value associated to the key (here, the value is the IP address of the node that stores the key)Assume node 0 searches for the value associated to key K with virtual identifier 7Interval node to be contacted [0,1)0 [1,2)6 [2,4)6 [4,8)6 [8,0)12

    C. Varela

  • Soft Real-Time

    C. Varela

  • Message PropertiesSALSA provides message properties to control message sending behavior:

    priorityTo send messages with priority to an actor

    delayTo delay sending a message to an actor for a given time

    waitforTo delay sending a message to an actor until a token is available

    C. Varela

  • Priority Message Sending

    To (asynchronously) send a message with high priority:

    a

  • Delayed Message Sending

    To (asynchronously) send a message after a given delay in milliseconds:

    a

  • Causal Connections

    C. Varela

  • Synchronized Message Sending

    To (asynchronously) send a message after another message has been processed:

    token fundsOk = bank

  • Named TokensTokens can be named to enable more loosely-coupled synchronization

    Example:

    token t1 = a1

  • Named Tokens (Multicast)Named tokens enable multicast:

    Example:

    token t1 = a1

  • Named Tokens (Loops)Named tokens allow for synchronized loops:

    Example 1:token t1 = initial; for (int i = 0; i < n; i++) {t1 = a

  • Join BlocksJoin blocks allow for synchronization over multiple messagesJoin blocks return an array of objects (Object[]), containing the results of each message sent within the join block. The results are in the same order as how the messages they were generated by were sent.

    Example:token t1 = a1

  • Current ContinuationsCurrent continuations allow for first class access to a messages continuationCurrent continuations facilitate writing recursive computationsExample:int fibonacci(int n) {if (n == 0) return 0;else if (n == 1 || n == 2) return 1;else {token a = fibonacci(n - 1);token b = fibonacci(n - 2);add(a, b) @ currentContinuation;}}Finds the nth fibonacci number. The result of add(a, b) is sent as the return value of fibonacci to the next message in the continuation.

    C. Varela

  • Current Continuations (Loops)Current Continuations can also be used to perform recursive loops:Example:void loop(int n) {if (n == 0) {m(n) @currentContinuation;} else {loop(n 1) @m(n) @currentContinuation;}}Sends the messages m(0), m(1), m(2) ...m(n). m(i) is always processed after m(i-1).

    C. Varela

  • Current Continuations (Delegation)Current Continuations can also be used to delegate tasks to other actors:Example:String getAnswer(Object question) {if (question instanceof Question1) {knowsQ1
  • Distributed run-time (WWC)

    C. Varela

  • World-Wide Computer ArchitectureSALSA application layerProgramming language constructs for actor communication, migration, and coordination.

    IOS middleware layerA Resource Profiling ComponentCaptures information about actor and network topologies and available resourcesA Decision ComponentTakes migration, split/merge, or replication decisions based on profiled informationA Protocol ComponentPerforms communication between nodes in the middleware system

    WWC run-time layerTheaters provide runtime support for actor execution and access to local resourcesPluggable transport, naming, and messaging services

    C. Varela

  • WWC TheatersTheater address and port.Actor location.

    C. Varela

  • SchedulingThe choice of which actor gets to execute next and for how long is done by a part of the system called the scheduler

    An actor is non-blocked if it is processing a message or if its mailbox is not empty, otherwise the actor is blocked

    A scheduler is fair if it does not starve a non-blocked actor, i.e. all non-blocked actors eventually execute

    Fair scheduling makes it easier to reason about programs and program compositionOtherwise some correct program (in isolation) may never get processing time when composed with other programs

    C. Varela

  • Remote Message Sending Protocol

    Messages between remote actors are sent using the Remote Message Sending Protocol (RMSP).RMSP is implemented using Java object serialization.RMSP protocol is used for both message sending and actor migration.When an actor migrates, its locator (UAL) changes but its name (UAN) does not.

    C. Varela

  • Universal Actor Naming Protocol

    C. Varela

  • Universal Actor Naming Protocol

    UANP includes messages for:

    Binding actors to UAN, UAL pairsFinding the locator of a universal actor given its UANUpdating the locator of a universal actor as it migratesRemoving a universal actor entry from the naming service

    SALSA programmers need not use UANP directly in programs. UANP messages are transparently sent by WWC run-time system.

    C. Varela

  • UANP Implementations

    Default naming service implementation stores UAN to UAL mapping in name servers as defined in UANs. Name server failures may induce universal actor unreachability.

    Distributed (Chord-based) implementation uses consistent hashing and a ring of connected servers for fault-tolerance. For more information, see:

    Camron Tolman and Carlos Varela. A Fault-Tolerant Home-Based Naming Service For Mobile Agents. In Proceedings of the XXXI Conferencia Latinoamericana de Informtica (CLEI), Cali, Colombia, October 2005. Tolman C. A Fault-Tolerant Home-Based Naming Service for Mobile Agents. Master's Thesis, Rensselaer Polytechnic Institute, April 2003.

    C. Varela

  • Actor Garbage Collection

    Implemented since SALSA 1.0 using pseudo-root approach.Includes distributed cyclic garbage collection.For more details, please see:

    Wei-Jen Wang and Carlos A. Varela. Distributed Garbage Collection for Mobile Actor Systems: The Pseudo Root Approach. In Proceedings of the First International Conference on Grid and Pervasive Computing (GPC 2006), Taichung, Taiwan, May 2006. Springer-Verlag LNCS.Wei-Jen Wang and Carlos A. Varela. A Non-blocking Snapshot Algorithm for Distributed Garbage Collection of Mobile Active Objects. Technical report 06-15, Dept. of Computer Science, R.P.I., October 2006.

    C. Varela

  • Challenge 1: Actor GC vs. Object GC

    C. Varela

  • Challenge 2: Non-blocking communicationFollowing references to mark live actors is not safe!

    C. Varela

  • Challenge 2: Non-blocking communicationFollowing references to mark live actors is not safe! What can we do?We can protect the reference from deletion and mark the sender live until the sender knows the message has arrived ABBlockedActorMessageReferenceMarkedLiveActorProtectedReference

    C. Varela

  • Challenge 2: Non-blocking communication (continued)How can we guarantee the safety of an actor referenced by a message?The solution is to protect the reference from deletion and mark the sender live until the sender knows the message has arrived ACBBlockedActorMessageReferenceMarkedLiveActorProtectedReference

    C. Varela

  • Challenge 3: Distribution and MobilityWhat if an actor is remotely referenced?We can maintain an inverse reference list (only visible to the garbage collector) to indicate whether an actor is referenced.The inverse reference registration must be based on non-blocking and non-First-In-First-Out communication!Three operations change inverse references: actor creation, reference passing, and reference deletion.Actor Creation

    C. Varela

  • Challenge 3: Distribution and Mobility (continued)What if an actor is remotely referenced?We can maintain an inverse reference list (only visible to the garbage collector) to indicate whether an actor is referenced.The inverse reference registration must be based on non-blocking and non-First-In-First-Out communication!Three operations are affected: actor creation, reference passing, and reference deletion.AReference PassingBlockedActorMessageMarkedLiveActorReferenceProtectedReferenceReference inMessageInverseReferenceUnblocked Actor

    C. Varela

  • Challenge 3: Distribution and Mobility (continued)What if an actor is remotely referenced?We can maintain an inverse reference list (only visible to the garbage collector) to indicate whether an actor is referenced.The inverse reference registration must be based on non-blocking and non-First-In-First-Out communication!Three operations are involved: actor creation, reference passing, and reference deletion.ABReference PassingBlockedActorMessageMarkedLiveActorReferenceProtectedReferenceReference inMessageInverseReferenceUnblocked Actor

    C. Varela

  • Challenge 3: Distribution and Mobility (continued)What if an actor is remotely referenced?We can maintain an inverse reference list (only visible to the garbage collector) to indicate whether an actor is referenced.The inverse reference registration must be based on non-blocking and non-First-In-First-Out communication!Three operations are involved: actor creation, reference passing, and reference deletion.ABReference PassingBlockedActorMessageMarkedLiveActorReferenceProtectedReferenceReference inMessageInverseReferenceUnblocked Actor

    C. Varela

  • Challenge 3: Distribution and Mobility (continued)What if an actor is remotely referenced?We can maintain an inverse reference list (only visible to the garbage collector) to indicate whether an actor is referenced.The inverse reference registration must be based on non-blocking and non-First-In-First-Out communication!Three operations are involved: actor creation, reference passing, and reference deletion.ABReference PassingBlockedActorMessageMarkedLiveActorReferenceProtectedReferenceReference inMessageInverseReferenceUnblocked Actor

    C. Varela

  • Challenge 3: Distribution and Mobility (continued)What if an actor is remotely referenced?We can maintain an inverse reference list (only visible to the garbage collector) to indicate whether an actor is referenced.The inverse reference registration must be based on non-blocking and non-First-In-First-Out communication!Three operations are involved: actor creation, reference passing, and reference deletion.AReference DeletionBlockedActorMessageMarkedLiveActorReferenceProtectedReferenceReference inMessageInverseReferenceUnblocked Actor

    C. Varela

  • The Pseudo Root ApproachPseudo roots:Treat unblocked actors, migrating actors, and roots as pseudo roots.Map in-transit messages and references into protected references and pseudo rootsUse inverse reference list (only visible to garbage collectors) to identify remotely referenced actors Actors which are not reachable from any pseudo root are garbage.

    C. Varela

  • Autonomic Computing (IOS)

    C. Varela

  • Middleware for Autonomous Computing

    MiddlewareA software layer between distributed applications and operating systems.Alleviates application programmers from directly dealing with distribution issuesHeterogeneous hardware/O.S.sLoad balancingFault-toleranceSecurityQuality of service

    Internet Operating System (IOS)A decentralized framework for adaptive, scalable executionModular architecture to evaluate different distribution and reconfiguration strategies

    K. El Maghraoui, T. Desell, B. Szymanski, and C. Varela, The Internet Operating System: Middleware for Adaptive Distributed Computing, International Journal of High Performance Computing and Applications, 2006.K. El Maghraoui, T. Desell, B. Szymanski, J. Teresco and C. Varela, Towards a Middleware Framework for Dynamically Reconfigurable Scientific Computing, Grid Computing and New Frontiers of High Performance Processing, Elsevier 2005. T. Desell, K. El Maghraoui, and C. Varela, Load Balancing of Autonomous Actors over Dynamic Networks, HICSS-37 Software Technology Track, Hawaii, January 2004. 10pp.

    C. Varela

  • Middleware Architecture

    C. Varela

  • IOS Architecture

    IOS middleware layer

    A Resource Profiling ComponentCaptures information about actor and network topologies and available resources

    A Decision ComponentTakes migration, split/merge, or replication decisions based on profiled information

    A Protocol ComponentPerforms communication with other agents in virtual network (e.g., peer-to-peer, cluster-to-cluster, centralized.)

    C. Varela

  • A General Model for Weighted Resource-Sensitive Work-Stealing (WRS)Given:A set of resources, R = {r0 rn}A set of actors, A = {a0 an}w is a weight, based on importance of the resource r to the performance of a set of actors A

    0 w(r,A) 1Sall r w(r,A) = 1

    a(r,f) is the amount of resource r available at foreign node fu(r,l,A) is the amount of resource r used by actors A at local node lM(A,l,f) is the estimated cost of migration of actors A from l to fL(A) is the average life expectancy of the set of actors A

    The predicted increase in overall performance G gained by migrating A from l to f, where G 1:

    D(r,l,f,A) = (a(r,f) u(r,l,A)) / (a(r,f) + u(r,l,A))G = Sall r (w(r,A) * D(r,l,f,A)) M(A,l,f)/(10+log L(A))

    When work requested by f, migrate actor(s) A with greatest predicted increase in overall performance, if positive.

    C. Varela

  • Impact of Process/Actor GranularityExperiments on a dual-processor node (SUN Blade 1000)

    C. Varela

    helium(mig)

    00.474743

    2086.782089

    4088.158905

    6090.70739

    8088.218552

    10085.802795

    12086.569305

    14089.33197

    16092.708565

    18089.262772

    20088.702812

    22085.851807

    24090.599182

    26089.386467

    28087.976189

    30088.997482

    32087.704636

    34091.577881

    36087.471573

    38090.504135

    40087.975021

    42092.79567

    44083.936356

    46086.790367

    48086.230659

    50090.302353

    52082.62397

    54086.577972

    56086.503502

    58087.154404

    60088.893013

    62086.213776

    64083.602676

    66093.021858

    68085.583755

    70083.192818

    72087.645706

    74088.523392

    76087.473602

    78083.532883

    80087.192825

    82087.034515

    84086.865921

    86086.795456

    88086.193436

    90087.813766

    92086.545654

    94087.695381

    96084.267273

    98083.800934

    100083.295677

    102089.985535

    104084.44104

    106084.400421

    108087.500504

    110088.505737

    112085.460602

    114087.14431

    116085.925819

    118089.893936

    120089.007118

    122087.795746

    124092.967606

    126080.903954

    128079.571167

    130090.006119

    132086.772888

    134084.099609

    136091.938362

    138087.300751

    140079.706848

    142084.6474

    144085.237991

    146086.849258

    148080.819443

    150088.165848

    152089.310753

    154088.89119

    156082.881149

    158086.319992

    160087.415543

    162090.451309

    164090.076569

    166084.188751

    168085.963654

    170089.766548

    172089.864555

    174088.732353

    176091.65184

    178091.197083

    180093.34127

    182084.228912

    184086.379761

    186078.116119

    188076.426483

    190088.659348

    192089.592743

    194086.280357

    196087.549622

    198084.368042

    200086.658463

    202088.049759

    204068.087944

    206089.365295

    208086.556122

    210087.887505

    212067.077599

    214091.325562

    216087.721397

    218088.288422

    220089.446854

    222092.826981

    224086.226044

    226087.789864

    228088.605331

    230091.572433

    232087.717117

    234087.081009

    236089.437729

    238091.18428

    240092.467087

    242087.032036

    244087.56485

    246089.965073

    248091.461014

    250089.665161

    252086.711746

    254087.492905

    256088.274345

    258089.691666

    260082.944908

    262083.133286

    264089.207458

    266090.851204

    268085.909203

    270085.272095

    272087.215988

    274090.545547

    276084.383194

    278084.650284

    280083.528175

    282085.16304

    284089.271179

    286084.93277

    288089.392303

    290086.740738

    292085.621765

    294088.755112

    296088.048592

    298087.347626

    300087.154739

    302085.659988

    304086.341583

    306084.319366

    308087.018997

    310088.15799

    312083.926155

    314088.20311

    316090.851761

    318088.144577

    320089.552887

    322084.861305

    324087.036346

    326091.345718

    328091.879517

    330084.014404

    332084.985977

    334089.917465

    336090.562576

    338090.066574

    340088.358513

    342087.751846

    344091.339798

    346085.110031

    348086.97641

    350085.078079

    352089.334518

    354087.837112

    356086.097054

    358087.046227

    360093.047592

    362088.649246

    364088.561279

    366082.618118

    368089.271996

    370089.662918

    372085.043442

    374084.112915

    376086.494171

    378090.640579

    380084.336281

    382085.394768

    384087.65596

    386071.885963

    388088.57637

    390086.731155

    392084.371147

    394089.09977

    396092.525551

    398087.913956

    400085.658936

    402087.745377

    404088.871735

    406090.171646

    408086.476624

    410086.893402

    412088.615074

    414085.257622

    416082.058472

    418083.091385

    420093.081856

    422090.776443

    424084.037018

    426086.744324

    428087.006134

    430072.561668

    432088.165482

    434086.855507

    436086.413185

    438088.309273

    440090.293907

    442087.587814

    444080.342194

    446071.512573

    448088.675591

    450087.40506

    452087.613388

    454089.347107

    456087.623703

    458085.759544

    460089.324928

    462066.411163

    464086.716995

    466080.37471

    468086.195648

    470068.812042

    472089.555069

    474085.659439

    476085.41507

    478087.169846

    480087.421043

    482088.178146

    484082.270859

    486088.021637

    488077.968727

    490088.203392

    492085.957977

    494085.09761

    496091.278847

    498085.478165

    500089.83049

    502087.88826

    504088.122818

    506088.579445

    508082.414093

    510086.844719

    512087.453537

    514086.687759

    516085.469521

    518093.211945

    520087.169327

    522095.428421

    524088.22554

    526087.561813

    528010.682024

    530067.870285

    532065.649612

    534059.604984

    536065.672913

    538066.892426

    540065.859856

    542065.010025

    544065.404144

    546066.402435

    548066.516357

    550065.825897

    552066.147514

    554065.2276

    556066.124939

    558066.237366

    560065.326172

    562065.400566

    564065.752495

    566065.869125

    568066.530296

    570066.038635

    572065.86541

    574065.168427

    576064.730087

    578066.446976

    580065.246704

    582066.199005

    584065.456795

    586066.487015

    588067.240662

    590066.974556

    592065.61232

    594066.021538

    596065.269768

    598064.142845

    helium(mig)

    0.474743

    86.782089

    88.158905

    90.70739

    88.218552

    85.802795

    86.569305

    89.33197

    92.708565

    89.262772

    88.702812

    85.851807

    90.599182

    89.386467

    87.976189

    88.997482

    87.704636

    91.577881

    87.471573

    90.504135

    87.975021

    92.79567

    83.936356

    86.790367

    86.230659

    90.302353

    82.62397

    86.577972

    86.503502

    87.154404

    88.893013

    86.213776

    83.602676

    93.021858

    85.583755

    83.192818

    87.645706

    88.523392

    87.473602

    83.532883

    87.192825

    87.034515

    86.865921

    86.795456

    86.193436

    87.813766

    86.545654

    87.695381

    84.267273

    83.800934

    83.295677

    89.985535

    84.44104

    84.400421

    87.500504

    88.505737

    85.460602

    87.14431

    85.925819

    89.893936

    89.007118

    87.795746

    92.967606

    80.903954

    79.571167

    90.006119

    86.772888

    84.099609

    91.938362

    87.300751

    79.706848

    84.6474

    85.237991

    86.849258

    80.819443

    88.165848

    89.310753

    88.89119

    82.881149

    86.319992

    87.415543

    90.451309

    90.076569

    84.188751

    85.963654

    89.766548

    89.864555

    88.732353

    91.65184

    91.197083

    93.34127

    84.228912

    86.379761

    78.116119

    76.426483

    88.659348

    89.592743

    86.280357

    87.549622

    84.368042

    86.658463

    88.049759

    68.087944

    89.365295

    86.556122

    87.887505

    67.077599

    91.325562

    87.721397

    88.288422

    89.446854

    92.826981

    86.226044

    87.789864

    88.605331

    91.572433

    87.717117

    87.081009

    89.437729

    91.18428

    92.467087

    87.032036

    87.56485

    89.965073

    91.461014

    89.665161

    86.711746

    87.492905

    88.274345

    89.691666

    82.944908

    83.133286

    89.207458

    90.851204

    85.909203

    85.272095

    87.215988

    90.545547

    84.383194

    84.650284

    83.528175

    85.16304

    89.271179

    84.93277

    89.392303

    86.740738

    85.621765

    88.755112

    88.048592

    87.347626

    87.154739

    85.659988

    86.341583

    84.319366

    87.018997

    88.15799

    83.926155

    88.20311

    90.851761

    88.144577

    89.552887

    84.861305

    87.036346

    91.345718

    91.879517

    84.014404

    84.985977

    89.917465

    90.562576

    90.066574

    88.358513

    87.751846

    91.339798

    85.110031

    86.97641

    85.078079

    89.334518

    87.837112

    86.097054

    87.046227

    93.047592

    88.649246

    88.561279

    82.618118

    89.271996

    89.662918

    85.043442

    84.112915

    86.494171

    90.640579

    84.336281

    85.394768

    87.65596

    71.885963

    88.57637

    86.731155

    84.371147

    89.09977

    92.525551

    87.913956

    85.658936

    87.745377

    88.871735

    90.171646

    86.476624

    86.893402

    88.615074

    85.257622

    82.058472

    83.091385

    93.081856

    90.776443

    84.037018

    86.744324

    87.006134

    72.561668

    88.165482

    86.855507

    86.413185

    88.309273

    90.293907

    87.587814

    80.342194

    71.512573

    88.675591

    87.40506

    87.613388

    89.347107

    87.623703

    85.759544

    89.324928

    66.411163

    86.716995

    80.37471

    86.195648

    68.812042

    89.555069

    85.659439

    85.41507

    87.169846

    87.421043

    88.178146

    82.270859

    88.021637

    77.968727

    88.203392

    85.957977

    85.09761

    91.278847

    85.478165

    89.83049

    87.88826

    88.122818

    88.579445

    82.414093

    86.844719

    87.453537

    86.687759

    85.469521

    93.211945

    87.169327

    95.428421

    88.22554

    87.561813

    10.682024

    67.870285

    65.649612

    59.604984

    65.672913

    66.892426

    65.859856

    65.010025

    65.404144

    66.402435

    66.516357

    65.825897

    66.147514

    65.2276

    66.124939

    66.237366

    65.326172

    65.400566

    65.752495

    65.869125

    66.530296

    66.038635

    65.86541

    65.168427

    64.730087

    66.446976

    65.246704

    66.199005

    65.456795

    66.487015

    67.240662

    66.974556

    65.61232

    66.021538

    65.269768

    64.142845

    helium(split)

    00.475099

    2094.160667

    4095.725883

    6097.109238

    8097.815002

    10098.452484

    12095.35228

    14098.066025

    16097.3078

    18097.530075

    20095.433807

    22096.643425

    24095.020706

    26095.093277

    28094.537132

    30096.989746

    32083.098297

    34083.075508

    36084.612442

    38086.480431

    40083.403091

    42082.672966

    44084.305954

    46093.074394

    48095.451096

    50096.275558

    52029.454027

    54096.76889

    56093.423477

    58096.010544

    60094.385529

    62097.271164

    64096.10582

    66097.006516

    68095.925018

    70072.312164

    72011.971472

    74095.030342

    76093.486664

    78095.804878

    80081.274925

    82082.939384

    84082.520454

    86083.678902

    88087.105064

    90084.193367

    92080.267159

    94087.473656

    96096.485809

    98094.967758

    100097.884903

    102092.084747

    104097.483727

    106093.719681

    108098.886848

    110093.652802

    112094.457367

    114095.320129

    116096.966072

    118095.236015

    120087.776611

    122096.197678

    124095.267113

    126094.178619

    128097.124573

    130092.827019

    132094.029732

    134096.853477

    136095.784225

    138095.428185

    140096.279648

    142097.31665

    144093.158234

    146078.725204

    148080.055611

    150083.039032

    152089.277199

    154080.910889

    156082.010803

    158086.766335

    160093.501183

    162095.598747

    164095.23175

    166095.621849

    168096.069977

    170094.940643

    172095.843796

    174092.820412

    176093.355911

    178091.609604

    180094.51162

    182093.545036

    184092.856598

    186096.373016

    188095.208519

    190093.26371

    192094.563728

    194091.677452

    196095.700851

    198094.971313

    200092.953079

    202096.04686

    204092.873932

    206094.123802

    208093.519066

    210080.101135

    212080.060478

    214084.504227

    216081.117737

    218082.748055

    220082.130112

    222084.955414

    224093.388885

    226090.518341

    228096.753746

    230093.696732

    232092.956383

    234093.424828

    236092.265106

    238094.695526

    240093.789825

    242092.143517

    244093.060944

    246087.103203

    248078.511024

    250092.150337

    252096.592438

    254084.407074

    256090.082359

    258097.550629

    260095.292412

    262093.291214

    264094.509796

    266093.928322

    268096.221748

    270096.445915

    272097.156601

    274077.033447

    276086.450623

    278084.146309

    280080.915176

    282082.2481

    284086.421165

    286083.729691

    288090.882866

    290083.522934

    292093.33181

    294094.112663

    296095.34967

    298097.403717

    300097.907768

    302094.996368

    304095.918533

    306093.73539

    308093.608475

    310083.15609

    312080.692963

    314095.331543

    316091.066956

    318089.409737

    320093.775444

    322097.938583

    324071.915756

    326091.388191

    328067.793289

    330096.97467

    332091.643394

    334091.741501

    336071.344749

    338079.257645

    340083.109528

    342080.9506

    344080.915627

    346082.050957

    348086.781464

    350093.02475

    352092.158318

    354092.88221

    356097.317787

    358094.246407

    360091.393539

    362093.51815

    364094.87883

    366094.521278

    368096.363571

    370097.533257

    372094.063591

    374092.922882

    376094.259117

    378094.127747

    380090.574654

    382091.469116

    384095.348648

    386095.864418

    388098.01152

    390091.056046

    392095.533806

    394096.849892

    396094.143181

    398096.265358

    400086.022377

    402080.927399

    404082.685242

    406084.716919

    408083.651062

    410084.075905

    412082.091743

    414089.078979

    416087.463623

    418092.733147

    420093.760063

    422093.653053

    424091.851158

    426095.604706

    428092.229408

    430097.295746

    432094.76577

    434091.118973

    436096.185982

    438097.321632

    440091.377968

    442095.965591

    444092.970184

    446096.230141

    448096.813614

    450092.100548

    452097.085632

    454092.532188

    456095.452942

    458095.9132

    460097.047455

    462090.450737

    464086.305275

    466079.319183

    468060.144096

    470053.521782

    472075.703377

    474084.688156

    476090.167076

    478088.501747

    480097.618843

    482095.227539

    484096.626678

    486092.607567

    488095.710693

    490061.335373

    492046.853096

    494096.61335

    496098.779968

    498094.931114

    500091.006264

    502092.509781

    504095.141937

    506095.852539

    508096.121025

    510094.021454

    512073.13501

    514093.009773

    516095.644073

    518094.45752

    520084.716118

    522093.025223

    524078.718086

    526076.176102

    528082.052055

    530083.484863

    532084.230675

    534083.132599

    536084.800247

    538079.236267

    540081.069542

    542095.014351

    544093.27166

    546091.642975

    548094.274796

    550091.480156

    552096.221588

    554086.690643

    556093.356667

    558092.375076

    560095.034576

    562094.292068

    564091.009697

    566092.012558

    568096.693558

    570094.206169

    572092.46991

    574073.043457

    576097.459694

    578094.819794

    580095.123276

    582092.887299

    584095.970566

    586084.77784

    588082.320473

    590066.105316

    592080.119255

    594084.412094

    596081.163742

    598067.287857

    helium(split)

    0.475099

    94.160667

    95.725883

    97.109238

    97.815002

    98.452484

    95.35228

    98.066025

    97.3078

    97.530075

    95.433807

    96.643425

    95.020706

    95.093277

    94.537132

    96.989746

    83.098297

    83.075508

    84.612442

    86.480431

    83.403091

    82.672966

    84.305954

    93.074394

    95.451096

    96.275558

    29.454027

    96.76889

    93.423477

    96.010544

    94.385529

    97.271164

    96.10582

    97.006516

    95.925018

    72.312164

    11.971472

    95.030342

    93.486664

    95.804878

    81.274925

    82.939384

    82.520454

    83.678902

    87.105064

    84.193367

    80.267159

    87.473656

    96.485809

    94.967758

    97.884903

    92.084747

    97.483727

    93.719681

    98.886848

    93.652802

    94.457367

    95.320129

    96.966072

    95.236015

    87.776611

    96.197678

    95.267113

    94.178619

    97.124573

    92.827019

    94.029732

    96.853477

    95.784225

    95.428185

    96.279648

    97.31665

    93.158234

    78.725204

    80.055611

    83.039032

    89.277199

    80.910889

    82.010803

    86.766335

    93.501183

    95.598747

    95.23175

    95.621849

    96.069977

    94.940643

    95.843796

    92.820412

    93.355911

    91.609604

    94.51162

    93.545036

    92.856598

    96.373016

    95.208519

    93.26371

    94.563728

    91.677452

    95.700851

    94.971313

    92.953079

    96.04686

    92.873932

    94.123802

    93.519066

    80.101135

    80.060478

    84.504227

    81.117737

    82.748055

    82.130112

    84.955414

    93.388885

    90.518341

    96.753746

    93.696732

    92.956383

    93.424828

    92.265106

    94.695526

    93.789825

    92.143517

    93.060944

    87.103203

    78.511024

    92.150337

    96.592438

    84.407074

    90.082359

    97.550629

    95.292412

    93.291214

    94.509796

    93.928322

    96.221748

    96.445915

    97.156601

    77.033447

    86.450623

    84.146309

    80.915176

    82.2481

    86.421165

    83.729691

    90.882866

    83.522934

    93.33181

    94.112663

    95.34967

    97.403717

    97.907768

    94.996368

    95.918533

    93.73539

    93.608475

    83.15609

    80.692963

    95.331543

    91.066956

    89.409737

    93.775444

    97.938583

    71.915756

    91.388191

    67.793289

    96.97467

    91.643394

    91.741501

    71.344749

    79.257645

    83.109528

    80.9506

    80.915627

    82.050957

    86.781464

    93.02475

    92.158318

    92.88221

    97.317787

    94.246407

    91.393539

    93.51815

    94.87883

    94.521278

    96.363571

    97.533257

    94.063591

    92.922882

    94.259117

    94.127747

    90.574654

    91.469116

    95.348648

    95.864418

    98.01152

    91.056046

    95.533806

    96.849892

    94.143181

    96.265358

    86.022377

    80.927399

    82.685242

    84.716919

    83.651062

    84.075905

    82.091743

    89.078979

    87.463623

    92.733147

    93.760063

    93.653053

    91.851158

    95.604706

    92.229408

    97.295746

    94.76577

    91.118973

    96.185982

    97.321632

    91.377968

    95.965591

    92.970184

    96.230141

    96.813614

    92.100548

    97.085632

    92.532188

    95.452942

    95.9132

    97.047455

    90.450737

    86.305275

    79.319183

    60.144096

    53.521782

    75.703377

    84.688156

    90.167076

    88.501747

    97.618843

    95.227539

    96.626678

    92.607567

    95.710693

    61.335373

    46.853096

    96.61335

    98.779968

    94.931114

    91.006264

    92.509781

    95.141937

    95.852539

    96.121025

    94.021454

    73.13501

    93.009773

    95.644073

    94.45752

    84.716118

    93.025223

    78.718086

    76.176102

    82.052055

    83.484863

    84.230675

    83.132599

    84.800247

    79.236267

    81.069542

    95.014351

    93.27166

    91.642975

    94.274796

    91.480156

    96.221588

    86.690643

    93.356667

    92.375076

    95.034576

    94.292068

    91.009697

    92.012558

    96.693558

    94.206169

    92.46991

    73.043457

    97.459694

    94.819794

    95.123276

    92.887299

    95.970566

    84.77784

    82.320473

    66.105316

    80.119255

    84.412094

    81.163742

    67.287857

    Sheet2

    07.490973

    2033.84758

    4032.749069

    6032.959015

    8032.322052

    10033.140774

    12032.629959

    14031.786472

    16033.987293

    18033.251747

    20032.596863

    22033.081169

    24033.150963

    26033.714836

    28034.237488

    3009.238776

    32031.45035

    34031.12178

    36031.319952

    38033.109306

    40029.745787

    42030.159721

    44030.972061

    46032.704418

    48023.375616

    50030.96682

    52029.604544

    54030.136154

    56032.559471

    58033.127254

    60031.078342

    62029.93869

    64031.340496

    66030.930185

    68031.054916

    70032.244289

    72030.62429

    74029.356953

    76030.922527

    78031.486511

    80033.415516

    82030.698757

    84031.039177

    86029.51347

    88029.643295

    90029.498489

    92031.401558

    94029.517046

    96031.202847

    98031.14299

    100015.031887

    102034.556271

    104036.179813

    106035.738132

    108035.457066

    110035.313858

    112035.575542

    114033.488766

    116033.511913

    118035.511948

    120035.228951

    122035.78294

    124034.723812

    126035.117363

    128032.008633

    130034.775486

    132034.985172

    134035.522327

    136035.879284

    138034.031437

    140034.062233

    142035.111481

    144035.001545

    146035.967472

    148020.4245

    150057.321999

    152055.871265

    154054.47879

    156053.546959

    158055.472202

    160053.228703

    162055.617363

    164053.739338

    166058.799328

    168051.703331

    170055.596733

    172055.261108

    174056.661938

    176056.844498

    178055.158386

    180056.015427

    182057.042915

    184056.459438

    186051.670151

    188058.017769

    190054.712982

    192054.294964

    194057.162521

    196052.855431

    198054.9189

    200056.888977

    202056.349503

    204055.628307

    206053.987213

    208054.888191

    210057.482475

    212051.352528

    214052.957409

    216057.9632

    218051.71402

    220054.55188

    222055.510872

    224053.478615

    226056.538574

    228054.372177

    230051.791515

    232051.85387

    234053.152756

    236053.699192

    238056.16217

    240053.944302

    242057.860531

    244052.706093

    246038.891552

    248040.061146

    250058.789318

    252058.341045

    254051.069916

    256056.739349

    258055.588776

    260055.638443

    262057.349831

    264055.383617

    266050.981583

    268057.030621

    270056.89534

    272053.239281

    274055.809402

    276054.816936

    278056.315971

    280057.504028

    282053.0392

    284054.31464

    286056.297119

    288058.018948

    290053.579201

    292045.004356

    294055.186466

    296057.544048

    298050.021263

    300056.758224

    302051.674511

    304048.815731

    306057.335526

    308051.873737

    310056.729164

    312017.545601

    314053.453369

    316053.751705

    318054.900879

    320054.417236

    322053.991371

    324055.537674

    326054.9552

    328052.623699

    330052.575577

    332054.225178

    334052.883026

    336053.49408

    338052.597282

    340052.311371

    342054.902081

    344052.155937

    346052.864994

    348052.53334

    350051.783161

    352055.061718

    354052.282364

    356043.915031

    358035.75869

    360045.876755

    362052.239735

    364052.96825

    366053.396423

    368053.171211

    370051.92704

    372054.697418

    374052.03215

    376052.909931

    378052.71067

    380052.264038

    382054.211891

    384053.683887

    386057.018417

    388053.339409

    390052.877178

    392053.330524

    394051.848927

    396055.503071

    398053.210861

    400051.929901

    402052.273903

    404051.52887

    406052.264709

    408055.400238

    410053.90588

    412053.174789

    414022.007481

    416053.559669

    418054.65731

    420055.152344

    422056.178463

    424053.597927

    426051.720104

    428054.392029

    430051.67672

    432052.340294

    434050.952728

    436052.239883

    438052.930828

    440053.306396

    442053.366264

    444053.836849

    446053.57325

    448052.155712

    450053.2131

    452051.117851

    454055.011951

    456052.944054

    458052.865562

    460050.852966

    462051.085396

    464049.57008

    466053.576942

    468051.049953

    470052.061947

    472053.887619

    474053.467896

    476051.747021

    478052.240242

    480054.424454

    482053.9048

    484052.656437

    486055.363266

    488052.749706

    490053.095268

    492054.093826

    494053.992416

    496051.328629

    498052.03672

    500052.668419

    502054.850445

    504052.109558

    506052.080616

    508050.285126

    510052.179764

    512052.256275

    514053.530296

    516051.918316

    518053.18631

    520054.173599

    522054.875748

    524052.952965

    526054.061806

    528054.930111

    530054.384876

    532054.081223

    534056.469662

    536050.369919

    538052.617455

    540052.388699

    542051.436142

    544053.242325

    546051.021019

    548052.841198

    550053.737804

    552053.407883

    554051.23283

    556052.096313

    558053.412483

    560053.782333

    562052.467503

    564057.069641

    566053.952709

    568051.89563

    570055.045727

    572053.982658

    574052.945526

    576055.009964

    578053.788242

    580052.578209

    582051.234379

    584052.090042

    586052.09428

    588053.163422

    590051.449097

    592054.669586

    594052.867271

    596051.608002

    598054.312637

    Sheet2

    7.490973

    33.84758

    32.749069

    32.959015

    32.322052

    33.140774

    32.629959

    31.786472

    33.987293

    33.251747

    32.596863

    33.081169

    33.150963

    33.714836

    34.237488

    9.238776

    31.45035

    31.12178

    31.319952

    33.109306

    29.745787

    30.159721

    30.972061

    32.704418

    23.375616

    30.96682

    29.604544

    30.136154

    32.559471

    33.127254

    31.078342

    29.93869

    31.340496

    30.930185

    31.054916

    32.244289

    30.62429

    29.356953

    30.922527

    31.486511

    33.415516

    30.698757

    31.039177

    29.51347

    29.643295

    29.498489

    31.401558

    29.517046

    31.202847

    31.14299

    15.031887

    34.556271

    36.179813

    35.738132

    35.457066

    35.313858

    35.575542

    33.488766

    33.511913

    35.511948

    35.228951

    35.78294

    34.723812

    35.117363

    32.008633

    34.775486

    34.985172

    35.522327

    35.879284

    34.031437

    34.062233

    35.111481

    35.001545

    35.967472

    20.4245

    57.321999

    55.871265

    54.47879

    53.546959

    55.472202

    53.228703

    55.617363

    53.739338

    58.799328

    51.703331

    55.596733

    55.261108

    56.661938

    56.844498

    55.158386

    56.015427

    57.042915

    56.459438

    51.670151

    58.017769

    54.712982

    54.294964

    57.162521

    52.855431

    54.9189

    56.888977

    56.349503

    55.628307

    53.987213

    54.888191

    57.482475

    51.352528

    52.957409

    57.9632

    51.71402

    54.55188

    55.510872

    53.478615

    56.538574

    54.372177

    51.791515

    51.85387

    53.152756

    53.699192

    56.16217

    53.944302

    57.860531

    52.706093

    38.891552

    40.061146

    58.789318

    58.341045

    51.069916

    56.739349

    55.588776

    55.638443

    57.349831

    55.383617

    50.981583

    57.030621

    56.89534

    53.239281

    55.809402

    54.816936

    56.315971

    57.504028

    53.0392

    54.31464

    56.297119

    58.018948

    53.579201

    45.004356

    55.186466

    57.544048

    50.021263

    56.758224

    51.674511

    48.815731

    57.335526

    51.873737

    56.729164

    17.545601

    53.453369

    53.751705

    54.900879

    54.417236

    53.991371

    55.537674

    54.9552

    52.623699

    52.575577

    54.225178

    52.883026

    53.49408

    52.597282

    52.311371

    54.902081

    52.155937

    52.864994

    52.53334

    51.783161

    55.061718

    52.282364

    43.915031

    35.75869

    45.876755

    52.239735

    52.96825

    53.396423

    53.171211

    51.92704

    54.697418

    52.03215

    52.909931

    52.71067

    52.264038

    54.211891

    53.683887

    57.018417

    53.339409

    52.877178

    53.330524

    51.848927

    55.503071

    53.210861

    51.929901

    52.273903

    51.52887

    52.264709

    55.400238

    53.90588

    53.174789

    22.007481

    53.559669

    54.65731

    55.152344

    56.178463

    53.597927

    51.720104

    54.392029

    51.67672

    52.340294

    50.952728

    52.239883

    52.930828

    53.306396

    53.366264

    53.836849

    53.57325

    52.155712

    53.2131

    51.117851

    55.011951

    52.944054

    52.865562

    50.852966

    51.085396

    49.57008

    53.576942

    51.049953

    52.061947

    53.887619

    53.467896

    51.747021

    52.240242

    54.424454

    53.9048

    52.656437

    55.363266

    52.749706

    53.095268

    54.093826

    53.992416

    51.328629

    52.03672

    52.668419

    54.850445

    52.109558

    52.080616

    50.285126

    52.179764

    52.256275

    53.530296

    51.918316

    53.18631

    54.173599

    54.875748

    52.952965

    54.061806

    54.930111

    54.384876

    54.081223

    56.469662

    50.369919

    52.617455

    52.388699

    51.436142

    53.242325

    51.021019

    52.841198

    53.737804

    53.407883

    51.23283

    52.096313

    53.412483

    53.782333

    52.467503

    57.069641

    53.952709

    51.89563

    55.045727

    53.982658

    52.945526

    55.009964

    53.788242

    52.578209

    51.234379

    52.090042

    52.09428

    53.163422

    51.449097

    54.669586

    52.867271

    51.608002

    54.312637

    Chart2

    9.127719

    34.579433

    33.898846

    33.366505

    34.260708

    33.737801

    32.68158

    31.672646

    30.74868

    33.241207

    33.241207

    13.985272

    30.245796

    30.242449

    29.517502

    30.306284

    30.005503

    29.912542

    30.047882

    30.210398

    29.557083

    29.953611

    14.995614

    30.567255

    29.919764

    29.482067

    30.387083

    29.952908

    30.708748

    30.442707

    29.739063

    31.154242

    30.978348

    29.929159

    29.696428

    30.139584

    29.116764

    30.367954

    31.310749

    31.615688

    31.197063

    30.852333

    30.209698

    16.623222

    39.454014

    39.670563

    39.404465

    39.679199

    39.352882

    38.196011

    37.552109

    39.504082

    37.903709

    38.479103

    37.274204

    39.032326

    38.479103

    20.972067

    51.030624

    51.195194

    50.164482

    56.507965

    50.47802

    51.059391

    52.956165

    52.653595

    53.72625

    51.899914

    53.934418

    50.837624

    52.362846

    52.259876

    52.377445

    52.719872

    53.966999

    54.069298

    54.189209

    53.269241

    52.296387

    56.169636

    53.000736

    54.9203

    56.070179

    53.716606

    54.222225

    53.153835

    52.66552

    54.700821

    53.178337

    51.253616

    50.855175

    51.408688

    51.77652

    52.562653

    54.955727

    52.238209

    52.49662

    26.854389

    52.66151

    54.698467

    50.686241

    55.615776

    54.764313

    54.586689

    55.786407

    52.041504

    53.448151

    57.511913

    53.797081

    55.977684

    27.235748

    54.112228

    50.008469

    52.850498

    52.66687

    45.822079

    51.834564

    50.087322

    50.892933

    53.396057

    48.257446

    52.772461

    52.293987

    50.233521

    51.29961

    52.903427

    52.561596

    48.338043

    52.134235

    52.897263

    49.633007

    50.013073

    47.747787

    53.311508

    54.524628

    49.532017

    55.377426

    52.842609

    51.033031

    53.567638

    53.638744

    49.42593

    52.442841

    23.586611

    26.586611

    65.246586

    65.840313

    67.366863

    64.136761

    67.053761

    67.785461

    66.314789

    63.196583

    66.491913

    67.143017

    65.6756636667

    65.488447381

    65.3012310952

    65.1140148095

    64.9267985238

    64.7395822381

    64.5523659524

    66.314789

    65.196583

    65.488447381

    65.3012310952

    65.1140148095

    64.9267985238

    24.447517

    49.833393

    46.606506

    52.834019

    52.831493

    50.114109

    53.887287

    54.183926

    52.142502

    53.467266

    53.579346

    50.495403

    50.803177

    47.939526

    50.305332

    50.820667

    48.994843

    49.884098

    52.464893

    51.004074

    50.136929

    49.387218

    51.313015

    50.581146

    48.535461

    49.654888

    51.752766

    45.902363

    52.880207

    53.176258

    45.864498

    51.207764

    52.434052

    49.023869

    51.591213

    51.544468

    46.583385

    52.417629

    50.623672

    49.027485

    46.460514

    52.565838

    52.146515

    47.663101

    51.594784

    51.835754

    48.241497

    50.781574

    51.100925

    47.149883

    51.403988

    50.784496

    49.173004

    52.351757

    47.425365

    49.049316

    17.293718

    51.083309

    51.878452

    53.806828

    56.154499

    56.409809

    59.002277

    54.061123

    55.433567

    59.254494

    54.877434

    54.413841

    56.31665

    54.750927

    57.768703

    58.844212

    59.587311

    55.112186

    56.324471

    56.66135

    59.591614

    56.448891

    58.472473

    56.734715

    57.030701

    57.987427

    5040

    5060

    59.324715

    52.426983

    60.401802

    56.245098

    57.258003

    60.33485

    55.445496

    55.108978

    58.818855

    55.770607

    59.532837

    59.126537

    51.953796

    55.723854

    57.71978

    58.84219

    57.075062

    57.108765

    59.480854

    56.508278

    55.737923

    57.993908

    52.927002

    56.363647

    60.102806

    54.854683

    57.794151

    59.473202

    58.607109

    58.956272

    53.913513

    57.011627

    56.677845

    57.736134

    57.47752

    55.828579

    57.257484

    57.928902

    55.19294

    58.653347

    57.304688

    51.328571

    58.981377

    57.190281

    54.049603

    59.717541

    54.806728

    1

    3

    2

    4

    5

    6

    7

    8

    9

    Iteration Number

    Throughput (Iterations/s)

    adaptation

    09.127719

    2034.579433

    4033.898846

    6033.366505

    8034.260708

    10033.737801

    12032.68158

    14031.672646

    16030.74868

    18033.241207

    20033.241207

    22013.985272split

    24030.245796

    26030.242449

    28029.517502

    30030.306284

    32030.005503

    34029.912542

    36030.047882

    38030.210398

    40029.557083

    42029.953611

    44014.995614split

    46030.567255

    48029.919764

    50029.482067

    52030.387083

    54029.952908

    56030.708748

    58030.442707

    60029.739063

    62031.154242

    64030.978348

    66029.929159

    68029.696428

    70030.139584

    72029.116764

    74030.367954

    76031.310749

    78031.615688

    80031.197063

    82030.852333

    84030.209698

    86016.623222migrate

    88039.454014

    90039.670563

    92039.404465

    94039.679199

    96039.352882

    98038.196011

    100037.552109

    102039.504082

    104037.903709

    106038.479103

    108037.274204

    110039.032326

    112038.479103

    114020.972067migrate

    116051.030624

    118051.195194

    120050.164482

    122056.507965

    124050.47802

    126051.059391

    128052.956165

    130052.653595

    132053.72625

    134051.899914

    136053.934418

    138050.837624

    140052.362846

    142052.259876

    144052.377445

    146052.719872

    148053.966999

    150054.069298

    152054.189209

    154053.269241

    156052.296387

    158056.169636

    160053.000736

    162054.9203

    164056.070179

    166053.716606

    168054.222225

    170053.153835

    172052.66552

    174054.700821

    176053.178337

    178051.253616

    180050.855175

    182051.408688

    184051.77652

    186052.562653

    188054.955727

    190052.238209

    192052.49662

    194026.854389split

    196052.66151

    198054.698467

    200050.686241

    202055.615776

    204054.764313

    206054.586689

    208055.786407

    210052.041504

    212053.448151

    214057.511913

    216053.797081

    218055.977684

    220027.235748split

    222054.112228

    224050.008469

    226052.850498

    228052.66687

    230045.822079

    232051.834564

    234050.087322

    236050.892933

    238053.396057

    240048.257446

    242052.772461

    244052.293987

    246050.233521

    248051.29961

    250052.903427

    252052.561596

    254048.338043

    256052.134235

    258052.897263

    260049.633007

    262050.013073

    264047.747787

    266053.311508

    268054.524628

    270049.532017

    272055.377426

    274052.842609

    276051.033031

    278053.567638

    280053.638744

    282049.42593

    284052.442841

    286023.586611

    288026.586611migrate

    290065.246586

    292065.840313

    294067.366863

    296064.136761

    298067.053761

    300067.785461

    302066.314789

    304063.196583

    306066.491913

    308067.143017

    310065.6756636667

    312065.488447381

    314065.3012310952

    316065.1140148095

    318064.9267985238

    320064.7395822381

    322064.5523659524

    324066.314789

    326065.196583

    328065.488447381

    330065.3012310952

    332065.1140148095

    334064.9267985238

    336024.447517migrate

    338049.833393

    340046.606506

    342052.834019

    344052.831493

    346050.114109

    348053.887287

    350054.183926

    352052.142502

    354053.467266

    356053.579346

    358050.495403

    360050.803177

    362047.939526

    364050.305332

    366050.820667

    368048.994843

    370049.884098

    372052.464893

    374051.004074

    376050.136929

    378049.387218

    380051.313015

    382050.581146

    384048.535461

    386049.654888

    388051.752766

    390045.902363

    392052.880207

    394053.176258

    396045.864498

    398051.207764

    400052.434052

    402049.023869

    404051.591213

    406051.544468

    408046.583385

    410052.417629

    412050.623672

    414049.027485

    416046.460514

    418052.565838

    420052.146515

    422047.663101

    424051.594784

    426051.835754

    428048.241497

    430050.781574

    432051.100925

    434047.149883

    436051.403988

    438050.784496

    440049.173004

    442052.351757

    444047.425365

    446049.049316

    450017.293718split+migrate to helium

    452051.083309

    454051.878452

    456053.806828

    458056.154499

    460056.409809

    462059.002277

    464054.061123

    466055.433567

    468059.254494

    470054.877434

    472054.413841

    474056.31665

    476054.750927

    478057.768703

    480058.844212

    484059.587311

    486055.112186

    488056.324471

    490056.66135

    492059.591614

    494056.448891

    496058.472473

    498056.734715

    500057.030701

    502057.987427

    5040

    5060

    508059.324715

    510052.426983

    512060.401802

    514056.245098

    516057.258003

    518060.33485

    520055.445496

    522055.108978

    524058.818855

    526055.770607

    528059.532837

    530059.126537

    532051.953796

    534055.723854

    536057.71978

    538058.84219

    540057.075062

    542057.108765

    544059.480854

    546056.508278

    548055.737923

    550057.993908

    552052.927002

    554056.363647

    556060.102806

    558054.854683

    560057.794151

    562059.473202

    564058.607109

    566058.956272

    568053.913513

    570057.011627

    572056.677845

    574057.736134

    576057.47752

    578055.828579

    580057.257484

    582057.928902

    584055.19294

    586058.653347

    588057.304688

    590051.328571

    592058.981377

    594057.190281

    596054.049603

    598059.717541

    600054.806728

    602054.222111

    604057.72747

    606052.874245

    608055.299587

    610051.139961

    612058.948067

    614055.477322

    616055.614067

    618056.478058

    620053.226269

    622058.120659

    624058.838787

    626056.579506

    628057.82325

    630057.309795

    632054.520775

    634057.352757

    636058.629345

    638053.021305

    640058.549873

    642056.135399

    644055.44397

    646059.422451

    648054.692017

    650051.81422

    654026.497103

    656054.723869

    658057.691559

    660056.753628

    662054.401089

    664054.929375

    666054.005852

    668057.526436

    670058.080364

    672049.988583

    674056.5159

    676052.87751

    678056.716217

    680057.800434

    682053.162029

    migration back to europa

    Chart5

    129.63878262

    136.41778994

    261.91138418

    302.10417916

    275.35619608

    262.75120076

    254.42837098

    221.24154296

    163.7379163

    122.92570088

    95.27705766

    69.34994268

    Process Granularity (Bytes)

    Application Throughput (Iterations/s)

    Chart4

    129.63878262

    136.41778994

    261.91138418

    302.10417916

    275.35619608

    262.75120076

    254.42837098

    221.24154296

    163.7379163

    122.92570088

    95.27705766

    69.34994268

    Throughput

    Number of Processes/ Process Data Size (KB)

    Throughput (Iterations/s)

    effect of granularity(europa)

    IterationsN=2N=3N=4N=5N=6N=8N=10N=12N=20N=30N=40N=60

    045.630432100.02801518.67232317.80087913.3058693.4287532.3109311.6633730.3519790.0851540.0372870.01277

    20133.933121124.508453228.464798343.134186278.630341259.932434246.073807238.700516187.910126121.24354686.29448771.479492

    40142.845627108.925171361.724548340.8638335.800964270.041382252.726898251.193222164.050262127.80110989.50328873.794952

    60120.181915100.193886260.665527239.676926306.522064296.59082240.036667229.620865168.095322129.80714497.14702659.672527

    80240.740295381.860748353.291748317.12851256.400238215.6026268.493103247.034988149.618607124.323326102.84200378.230293

    100153.687988424.283051204.540756347.959564340.887177285.835815269.542084235.653397159.322235122.01572490.81348479.014778

    120321.216614146.057098291.252686341.630188293.2211283.321075246.594604227.204666171.967239128.7473376.45668864.548035

    140125.32215987.027855336.122986366.101257336.806244265.236145249.883636247.284958162.55928132.267883106.22721981.48333

    160185.31733799.854012239.687653307.949646295.231842271.804565250.506256226.446228171.557724125.73311692.99852865.048492

    180110.891896.700386177.743774138.956451260.315643275.642883269.180786209.03772170.908859142.413589105.42868876.244972

    20090.98428395.207924211.491516282.401459228.430191223.593994252.650146239.625931172.377518125.786758103.31259968.606552

    22099.109848104.080727371.339966337.522156258.929718272.421906248.411331224.047729168.976562132.5934396.66865576.388794

    24084.206909146.084778281.095581362.821869284.691254248.950638247.835159247.779465167.902374129.22528194.73926569.850632

    260125.033539114.066978189.297287364.375153326.035431209.551392231.034836241.679321158.183868134.037781110.16072870.407394

    280117.64021396.500519344.508636228.024612277.131836296.293182264.166107247.497116164.265701129.43588392.63099771.776039

    300164.879822127.993843275.634949294.170837250.000732295.915588199.064133237.793259165.02597132.12774793.43324366.759178

    320100.91424675.759422308.233154274.558899341.22702296.660095282.055115240.120926171.07312131.871567100.82592868.667526

    340111.06829188.687767224.425369350.777252240.236206265.485718289.334412231.968277175.184738124.82488397.10947479.548599

    360222.574188106.643318248.876266268.376068348.992432304.712067244.192581247.761917173.348358110.366287102.13370569.058319

    38083.431824100.885902205.746674321.684387328.252289279.972717277.854889247.090836176.468292118.387352105.43383868.914711

    400125.009003167.773087265.265137222.426559260.832214219.030151276.909729200.428543156.163528120.52296489.3689866.480835

    420118.857727175.411194177.509735390.23761321.763824274.31311276.861969245.365311142.09903143.67620883.67874972.57795

    440116.748375239.980103376.486755296.36676268.921906276.909821242.151825240.981033166.687943120.133209109.14555469.082619

    460142.693756131.715744338.796265257.504089244.228012258.71167231.243317211.031784145.013779133.01425298.44694563.994011

    480105.291039191.611771267.340881268.956848301.870178213.256744279.354553229.164474191.045197113.31594899.84557376.11586

    500125.20604786.923744355.161743349.266296269.29657231.225037246.241486217.665543183.86087122.46342589.78095278.283073

    520133.3567296.614235246.231354342.096741230.828445226.190872275.360443235.663132167.12146131.25183198.50981968.715118

    540105.293144105.111412399.525482355.716888319.876617286.498596271.695892212.271927175.325607123.692627101.62471872.175995

    560111.84819895.177979250.502029321.330811234.333618280.152039248.259277231.648743161.754242129.077332100.96897964.433128

    580141.68209884.982239287.905121367.888489223.05481283.624573281.41391182.111496102.789963132.0822385.28752165.883781

    600105.432632117.64109331.708618304.997345225.551086270.4505271.236023179.926407165.39035134.2349798.56211970.930092

    620162.50849994.976379314.002869256.751587225.655228222.736206253.133255222.384354179.385788119.52182102.04579963.967457

    640113.109314120.275421176.769806283.798798306.746033285.802399277.3255202.013123156.999664121.09327781.04321379.174538

    660125.083183355.381195250.900543319.449432354.357208289.305359286.270813197.65033179.329437121.11150495.65183366.030151

    680117.687012113.404694140.326385315.426331299.530396234.993042240.544464235.59761165.052612126.56815398.78276163.287743

    700112.915123106.913368251.43837348.739532269.697235290.619568275.494781221.993958173.063004130.736969102.48142266.373184

    720100.45758895.539742175.925064323.998962268.32605294.793488280.67334201.207321166.746017124.78012193.17546170.241211

    74082.934937122.164711279.693268364.453125313.779144265.232178277.79425244.678772169.067917106.78982597.66773275.479424

    760140.685272139.445847292.380554323.792572295.62677259.314972244.781784214.965195179.802704137.67593493.05263576.731148

    78095.28996387.805908334.056854255.922928288.249847290.864319217.226532197.158569165.657913120.179298107.64420363.292233

    800117.801727100.329498315.600494253.08577281.141998307.639709277.107605211.587204178.630493117.85076199.5436162.129379

    820150.10791124.497276231.186646345.968201328.077332218.814728254.169891228.553955168.402283112.332756100.6490172.937187

    840254.35560684.888313329.423828337.151062191.281662298.581085285.646149221.885239167.555588114.733559100.45359867.260521

    860119.87599292.092468316.933014261.036346320.676239279.388275276.167633200.134781169.483429124.10713290.59095869.845001

    880124.28746176.371521236.299255252.275238263.261108267.761414235.555542241.28511155.869965123.40665495.73154458.868999

    900117.5654690.492867283.92926285.40683238.562134295.253357271.229553227.183655181.374069135.661774106.56982487.658218

    92090.970787107.833046279.76532355.697357204.751953296.025787264.717621226.851761139.767792114.999931101.98748867.611778

    940137.428619241.961121125.305557354.92514266.624084268.964935235.668701241.923782180.480148126.01325295.47508271.333008

    96086.022842240.365707204.415375247.372116306.118805286.283569270.03595189.3349184.818542124.598351104.62701467.534805

    980121.822647107.857964127.96743297.255096243.740707243.828766265.19928230.224426169.008347117.56408797.26265789.561302

    129.63878262136.41778994261.91138418302.10417916275.35619608262.75120076254.42837098221.24154296163.7379163122.9257008895.2770576669.34994268

    dataWidth60403024201512106432

    Number of processes234568101220304060

    Data granularity75645124390431722684207417081464976732610488

    Average execution time8.3110118.6075834.0954923.2763623.7167513.8735684.040254.6550536.4806919.0939711.83892616.849144

    6.7408327.2370764.9803493.2763623.7183663.4762984.1574644.59076.544698.79447411.51731317.397839

    60512409923123225376214721659213664117127808585648803904

    Data Granularity/ Process58.1438.7629.0723.2619.3814.5411.639.695.813.882.911.94

    Number of processes234568101220304060

    Throughput129.63878262136.41778994261.91138418302.10417916275.35619608262.75120076254.42837098221.24154296163.7379163122.9257008895.2770576669.34994268

    74424961.333333333337212976.82480.66666666671860.51488.41240.3333333333744.2496.1333333333372.1248.0666666667

    58.14062538.760416666729.070312523.2562519.380208333314.5351562511.6281259.69010416675.81406253.87604166672.907031251.9380208333

    effect of granularity(europa)

    45.630432100.02801518.67232313.3058693.4287532.3109311.6633730.3519790.0851540.0372870.01277

    133.933121124.508453228.464798278.630341259.932434246.073807238.700516187.910126121.24354686.29448771.479492

    142.845627108.925171361.724548335.800964270.041382252.726898251.193222164.050262127.80110989.50328873.794952

    120.181915100.193886260.665527306.522064296.59082240.036667229.620865168.095322129.80714497.14702659.672527

    240.740295381.860748353.291748256.400238215.6026268.493103247.034988149.618607124.323326102.84200378.230293

    153.687988424.283051204.540756340.887177285.835815269.542084235.653397159.322235122.01572490.81348479.014778

    321.216614146.057098291.252686293.2211283.321075246.594604227.204666171.967239128.7473376.45668864.548035

    125.32215987.027855336.122986336.806244265.236145249.883636247.284958162.55928132.267883106.22721981.48333

    185.31733799.854012239.687653295.231842271.804565250.506256226.446228171.557724125.73311692.99852865.048492

    110.891896.700386177.743774260.315643275.642883269.180786209.03772170.908859142.413589105.42868876.244972

    90.98428395.207924211.491516228.430191223.593994252.650146239.625931172.377518125.786758103.31259968.606552

    99.109848104.080727371.339966258.929718272.421906248.411331224.047729168.976562132.5934396.66865576.388794

    84.206909146.084778281.095581284.691254248.950638247.835159247.779465167.902374129.22528194.73926569.850632

    125.033539114.066978189.297287326.035431209.551392231.034836241.679321158.183868134.037781110.16072870.407394

    117.64021396.500519344.508636277.131836296.293182264.166107247.497116164.265701129.43588392.63099771.776039

    164.879822127.993843275.634949250.000732295.915588199.064133237.793259165.02597132.12774793.43324366.759178

    100.91424675.759422308.233154341.22702296.660095282.055115240.120926171.07312131.871567100.82592868.667526

    111.06829188.687767224.425369240.236206265.485718289.334412231.968277175.184738124.82488397.10947479.548599

    222.574188106.643318248.876266348.992432304.712067244.192581247.761917173.348358110.366287102.13370569.058319

    83.431824100.885902205.746674328.252289279.972717277.854889247.090836176.468292118.387352105.43383868.914711

    125.009003167.773087265.265137260.832214219.030151276.909729200.428543156.163528120.52296489.3689866.480835

    118.857727175.411194177.509735321.763824274.31311276.861969245.365311142.09903143.67620883.67874972.57795

    116.748375239.980103376.486755268.921906276.909821242.151825240.981033166.687943120.133209109.14555469.082619

    142.693756131.715744338.796265244.228012258.71167231.243317211.031784145.013779133.01425298.44694563.994011

    105.291039191.611771267.340881301.870178213.256744279.354553229.164474191.045197113.31594899.84557376.11586

    125.20604786.923744355.161743269.29657231.225037246.241486217.665543183.86087122.46342589.78095278.283073

    133.3567296.614235246.231354230.828445226.190872275.360443235.663132167.12146131.25183198.50981968.715118

    105.293144105.111412399.525482319.876617286.498596271.695892212.271927175.325607123.692627101.62471872.175995

    111.84819895.177979250.502029234.333618280.152039248.259277231.648743161.754242129.077332100.96897964.433128

    141.68209884.982239287.905121223.05481283.624573281.41391182.111496102.789963132.0822385.28752165.883781

    105.432632117.64109331.708618225.551086270.4505271.236023179.926407165.39035134.2349798.56211970.930092

    162.50849994.976379314.002869225.655228222.736206253.133255222.384354179.385788119.52182102.04579963.967457

    113.109314120.275421176.769806306.746033285.802399277.3255202.013123156.999664121.09327781.04321379.174538

    125.083183355.381195250.900543354.357208289.305359286.270813197.65033179.329437121.11150495.65183366.030151

    117.687012113.404694140.326385299.530396234.993042240.544464235.59761165.052612126.56815398.78276163.287743

    112.915123106.913368251.43837269.697235290.619568275.494781221.993958173.063004130.736969102.48142266.373184

    100.45758895.539742175.925064268.32605294.793488280.67334201.207321166.746017124.78012193.17546170.241211

    82.934937122.164711279.693268313.779144265.232178277.79425244.678772169.067917106.78982597.66773275.479424

    140.685272139.445847292.380554295.62677259.314972244.781784214.965195179.802704137.67593493.05263576.731148

    95.28996387.805908334.056854288.249847290.864319217.226532197.158569165.657913120.179298107.64420363.292233

    117.801727100.329498315.600494281.141998307.639709277.107605211.587204178.630493117.85076199.5436162.129379

    150.10791124.497276231.186646328.077332218.814728254.169891228.553955168.402283112.332756100.6490172.937187

    254.35560684.888313329.423828191.281662298.581085285.646149221.885239167.555588114.733559100.45359867.260521

    119.87599292.092468316.933014320.676239279.388275276.167633200.134781169.483429124.10713290.59095869.845001

    124.28746176.371521236.299255263.261108267.761414235.555542241.28511155.869965123.40665495.73154458.868999

    117.5654690.492867283.92926238.562134295.253357271.229553227.183655181.374069135.661774106.56982487.658218

    90.970787107.833046279.76532204.751953296.025787264.717621226.851761139.767792114.999931101.98748867.611778

    137.428619241.961121125.305557266.624084268.964935235.668701241.923782180.480148126.01325295.47508271.333008

    86.022842240.365707204.415375306.118805286.283569270.03595189.3349184.818542124.598351104.62701467.534805

    121.822647107.857964127.96743243.740707243.828766265.19928230.224426169.008347117.56408797.26265789.561302

    N=2

    N=3

    N=4

    N=6

    N=8

    N=10

    N=12

    N=20

    N=30

    N=40

    N=60

    granularity(io)

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    granularity(helium)

    8.311011

    8.607583

    4.095492

    3.276362

    3.716751

    3.873568

    4.04025

    4.655053

    6.480691

    9.09397

    11.838926

    16.849144

    Chart1

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    overhead

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    expanding

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    Chart3

    IterationN=2N=4N=8N=16N=32N=64

    08.9806274.2618621.2726850.3517710.0632020.01011

    2032.59089331.26391228.2420529.48564925.24565923.471289

    4032.65578531.78043931.15090428.29354526.18595521.595833

    6032.70262930.61794930.20463229.62350526.00557922.69379

    8033.35559130.96160524.3659129.29880925.77162920.947372

    10032.42442731.23867225.57417729.95828228.36848621.262079

    12033.36271730.96888425.6809528.65536525.5674122.951843

    14032.0109131.56912230.59695127.19740525.13226319.8997

    16031.90950430.6525930.11794528.83105526.86684622.866619

    18032.79443430.39452429.90969531.26392225.76083820.956287

    20033.03161630.93662329.88054129.24565127.42930220.557684

    22032.14667129.85299531.1350130.87065526.4363421.570099

    24033.55326530.53957931.00024428.3582126.60911221.990246

    26033.03177330.74401531.36752729.58793328.69423924.234577

    28032.24234830.34733226.13240429.03363829.29248822.066412

    30027.46931330.57547626.9320628.88384825.69898622.414368

    32032.71699930.67716427.641828.44374125.91148418.422291

    34032.8697230.76427327.62741929.53413829.1418524.370705

    36031.45243630.27849630.04399128.40936125.05088819.981298

    38032.42616330.44587931.16174729.75988428.61150924.319878

    40033.78201330.84353331.2027429.58563228.02717622.99135

    42033.53313130.04785531.0465229.9063327.61938921.364349

    44032.9199630.22498730.05193330.06499725.21514524.670279

    46032.25803430.27594630.63460530.78278724.80528323.103973

    48031.62317330.47931729.57767129.60581225.36609523.925529

    50032.2234830.71332730.75875129.17059325.21429624.973553

    52032.02279730.39115130.8308628.52502128.13758722.109497

    54032.19263130.30394230.88178629.16145324.96550923.946327

    56032.68301429.88814432.09390329.01130728.8625322.106562

    58032.67334730.54815332.37326829.13774926.8158321.650707

    60032.91651230.53986430.13809829.55838427.47261221.712803

    62032.28350130.2003930.20492730.03026823.24216121.813099

    64032.49550631.09669530.48585925.83234827.48825622.552195

    66033.26620531.29379531.31895429.17497627.19419521.503139

    68032.82199529.7797230.99642229.10985218.049424.002438

    70033.24260731.06473930.48446730.08616322.67900821.167976

    72032.4187730.50977331.26985430.2974326.97534924.135668

    74033.30663330.70533226.06995429.31424326.27389722.970184

    76032.58713530.54889330.81188629.62645725.75202821.852894

    78031.29481130.579830.64424530.53083823.74519224.484247

    80033.36343830.33760531.4957229.25184625.7109223.522266

    82032.6540330.06675331.06357230.10797525.83891320.738302

    84032.22897331.24555430.59088528.83186527.21734620.902821

    86031.90052830.86731330.16851629.25063321.52052121.417095

    88032.11023726.29109829.53555529.95922924.98045320.634417

    90033.18811431.06350530.44695330.68656525.49874125.872217

    92033.13222531.52793729.90417128.94184925.79024722.097904

    94032.71559130.45626430.1864830.24639724.50862120.042019

    96033.33354931.13926130.61316330.08480129.35678920.054911

    98032.26425230.78090530.80622928.8442526.59759522.538563

    Execution Time30.80514532.89106433.89807934.80413540.51887749.457051

    Chart3

    8.9806274.2618621.2726850.3517710.0632020.01011

    32.59089331.26391228.2420529.48564925.24565923.471289

    32.65578531.78043931.15090428.29354526.18595521.595833

    32.70262930.61794930.20463229.62350526.00557922.69379

    33.35559130.96160524.3659129.29880925.77162920.947372

    32.42442731.23867225.57417729.95828228.36848621.262079

    33.36271730.96888425.6809528.65536525.5674122.951843

    32.0109131.56912230.59695127.19740525.13226319.8997

    31.90950430.6525930.11794528.83105526.86684622.866619

    32.79443430.39452429.90969531.26392225.76083820.956287

    33.03161630.93662329.88054129.24565127.42930220.557684

    32.14667129.85299531.1350130.87065526.4363421.570099

    33.55326530.53957931.00024428.3582126.60911221.990246

    33.03177330.74401531.36752729.58793328.69423924.234577

    32.24234830.34733226.13240429.03363829.29248822.066412

    27.46931330.57547626.9320628.88384825.69898622.414368

    32.71699930.67716427.641828.44374125.91148418.422291

    32.8697230.76427327.62741929.53413829.1418524.370705

    31.45243630.27849630.04399128.40936125.05088819.981298

    32.42616330.44587931.16174729.75988428.61150924.319878

    33.78201330.84353331.2027429.58563228.02717622.99135

    33.53313130.04785531.0465229.9063327.61938921.364349

    32.9199630.22498730.05193330.06499725.21514524.670279

    32.25803430.27594630.63460530.78278724.80528323.103973

    31.62317330.47931729.57767129.60581225.36609523.925529

    32.2234830.71332730.75875129.17059325.21429624.973553

    32.02279730.39115130.8308628.52502128.13758722.109497

    32.19263130.30394230.88178629.16145324.96550923.946327

    32.68301429.88814432.09390329.01130728.8625322.106562

    32.67334730.54815332.37326829.13774926.8158321.650707

    32.91651230.53986430.13809829.55838427.47261221.712803

    32.28350130.2003930.20492730.03026823.24216121.813099

    32.49550631.09669530.48585925.83234827.48825622.552195

    33.26620531.29379531.31895429.17497627.19419521.503139

    32.82199529.7797230.99642229.10985218.049424.002438

    33.24260731.06473930.48446730.08616322.67900821.167976

    32.4187730.50977331.26985430.2974326.97534924.135668

    33.30663330.70533226.06995429.31424326.27389722.970184

    32.58713530.54889330.81188629.62645725.75202821.852894

    31.29481130.579830.64424530.53083823.74519224.484247

    33.36343830.33760531.4957229.25184625.7109223.522266

    32.6540330.06675331.06357230.10797525.83891320.738302

    32.22897331.24555430.59088528.83186527.21734620.902821

    31.90052830.86731330.16851629.25063321.52052121.417095

    32.11023726.29109829.53555529.95922924.98045320.634417

    33.18811431.06350530.44695330.68656525.49874125.872217

    33.13222531.52793729.90417128.94184925.79024722.097904

    32.71559130.45626430.1864830.24639724.50862120.042019

    33.33354931.13926130.61316330.08480129.35678920.054911

    32.26425230.78090530.80622928.8442526.59759522.538563

    N=2

    N=4

    N=8

    N=16

    N=32

    N=64

    N=2N=3N=4N=5

    29.02741622.7225047.2475945.286204

    118.899963114.87484114.722351101.507034

    119.875549117.694366112.743011102.687233

    119.208252112.73362104.323608102.492844

    119.663254113.099052110.026375102.723373

    119.039452112.825844104.62702999.950615

    120.578468109.687614112.65739495.614563

    121.95314110.667351113.75898796.045296

    120.102676109.637917107.11093194.66848

    120.351746110.075493106.31501893.687195

    119.488052109.282814106.51814395.835342

    117.323044109.993134108.26643497.944214

    119.069992110.915558109.05932692.763

    119.779327110.107384106.71534795.007797

    119.798355113.758018101.99449293.054794

    118.950272117.081604107.50914891.339157

    118.942154113.893639112.51016291.543861

    117.488731114.608917113.69554193.081093

    115.226364115.013832112.24607193.232346

    110.304352114.561073111.39394490.684891

    111.032654114.694519110.71864386.433937

    119.246376109.893166110.68241986.69899

    118.652573108.229614106.29996591.476494

    116.308784106.792381102.58662497.766754

    118.913193108.112274104.339874101.188454

    119.416046114.791161108.13221799.275459

    119.496643105.411621100.67469100.311447

    121.085518105.940758101.29908898.077858

    119.784439107.839424101.252808101.918625

    120.205963109.184883106.332008101.498558

    121.022827109.916161109.295273101.476318

    120.16848107.73888494.095718101.913719

    120.034225104.566872100.62840393.780563

    120.562897107.756767102.897446101.933121

    120.38475109.916382110.74139494.47583

    120.415375111.575096108.82026792.790817

    121.368912108.585732108.22176493.145096

    119.86264106.467094105.26837992.773766

    120.194107108.748146107.35086198.069481

    119.562546110.664307109.58458775.406273

    117.798462109.397675110.61759971.615692

    119.676376112.408943111.40419102.061417

    119.566956110.48452111.20729199.206711

    120.935699115.073151107.46986493.081947

    120.730911114.291756108.28565291.759346

    119.654465118.143494109.16728293.249039

    106.706291118.468323109.01150593.271194

    120.272774114.893372107.90625896.737762

    120.231537110.557678107.13723895.142914

    120.960205109.434235106.6481793.043076

    8.4453329.0548959.39784910.684004

    130.391634137.906095.7629893648

    79.87316385.6094057.1816887983

    70.33037482.65292517.5209519005

    64.74307677.81163320.1852581116

    58.77196665.41178711.2975989267

    Without PCM

    With PCM

    Overhead %

    Number of Processes

    Executione Time (s)

    Number of ProcessesWithout PCMWith PCMOverhead %

    2130.391634137.906095.7629893648

    479.87316385.6094057.1816887983

    1070.33037482.65292517.5209519005

    2064.74307677.81163320.1852581116

    4058.77196665.41178711.2975989267

    05.621565

    2030.311424

    4030.219315

    6031.03001

    8030.257961

    10030.736744

    12030.409117

    14030.556561

    16029.990875

    18030.639051

    20030.293486

    22030.62936

    24031.604961

    26029.720705

    28030.119509

    30029.855143

    32029.925327

    34030.211941

    36028.955202

    38030.436043

    40030.243484

    42027.926479

    44028.19492

    46030.466362

    48030.000614

    50031.370781

    52030.535891

    54030.479588

    56030.3312

    58030.120327

    60030.319908

    62030.750925

    64030.294033

    66030.968157

    68030.621002

    70030.670069

    72030.587833

    74030.579748

    76030.627399

    78030.655586

    80030.304676

    82026.067879

    84030.77282

    86017.57119

    88054.678482

    90055.295055

    92055.126427

    94055.429337

    96053.845314

    98055.41301

    100054.690956

    102054.511852

    104054.356552

    106056.242691

    108055.79055

    110055.135254

    112053.693832

    114052.434879

    116053.843616

    118054.589943

    120055.281368

    122054.293503

    124053.094246

    126053.149471

    128054.629379

    130052.592636

    132054.175442

    134054.643612

    136054.352173

    138054.316139

    140054.634727

    142055.146889

    144048.661728

    146049.147331

    148049.426891

    150052.801994

    152055.330654

    154055.652294

    156053.697723

    158056.136925

    160057.284389

    162054.261196

    164054.871628

    166055.837025

    168055.503761

    170054.785385

    172056.08408

    174055.791382

    176056.934235

    178056.255524

    180055.340538

    182042.816303

    184031.98661

    186050.395248

    188056.210045

    190088.367004

    192088.418121

    194088.383156

    196073.163925

    198082.536606

    200091.459824

    202092.028412

    204088.335297

    206091.311455

    208094.078262

    210081.526199

    212084.016655

    214090.194023

    216087.847176

    218090.137657

    220091.057724

    222090.988983

    224081.537689

    226080.588463

    228067.925491

    230077.175179

    232089.445198

    234089.494263

    236082.642967

    238081.339661

    240088.566422

    242089.744