prose
TRANSCRIPT
FastOS Workshop: PROSE Presentation
Partitioned Reliable Operating System Environment
Eric Van Hensbergen([email protected])
To replace the title / subtitle with your own:Click on the title block -> select all the text by pressing Ctrl+A -> press Delete key -> type your own text
Agenda
Background
Motivation
Virtualization Overview
PROSE Approach
Preliminary Performance Analysis
Noise/OS Interference Analysis
Status Update
Future Work
Background
Motivation: Push the mainstream heavy-weight operating systems out of the way.
Why:
Finer grain of control over system services: scheduling, memory allocation, interrupt handling (or lack thereof)
Reliability: application-specific kernels are likely to be smaller and may even be verifiable using formal methods
Hardware support: Enable use of hardware-specific features which may not be well-matched to generalized mainstream operating system.
Virtualization
Kernel Hypervisor Interface
Hardware Platform
Hypervisor
Logical Partition
Logical Partition
Logical Partition
Logical Partition
Hardware Hypervisor Interface
A pot file is a Design Template file, which provides you the look of the presentation
You apply a pot file by opening the Task Pane with View > Task Pane and select Slide Design Design Templates.
Click on the word Browse at bottom of Task Pane and navigate to where you stored BlueOnyx Deluxe.pot (black background) or BluePearl Deluxe.pot (white background) and click on Apply.
You can switch between black and white background by navigating to that pot file and click on Apply.
Another easier way to switch background is by changing color scheme. Opening the Task Pane, select Slide Design Color Schemes and click on one of the two schemes. All your existing content (including Business Unit or Product Names) will be switched without any modification to color or wording.
Start with Blank Presentation, then switch to the desired Design Template
Start a new presentation as Blank Presentation
You can switch to Blue Onyx Deluxe.pot by opening the Task Pane with View > Task Pane and select Slide Design Design Templates.
Click on the word Browse at bottom of Task Pane and navigate to where you stored BlueOnyx Deluxe.pot (black background) and click on Apply.
Your existing content will take on Blue Onyxs black background, and previous black text will turn to white.
You should add your Business Unit or Product Name by modifying it on the Slide Master
You switch to the Slide Master view by View > Master > Slide Master.
Click on the Title Page thumbnail icon on the left, and click on the Business Unit or Product Name field to modify it.
Click on the Bullet List Page thumbnail icon on the left, and click on the Business Unit or Product Name field to modify it.
Click on Close Master View button on the floating Master View Toolbar
You can turn on the optional date and footer fields by View > Header and Footer
Suggested footer on all pages including Title Page: Presentation Title | Confidential
Date and time field can be fixed, or Update automatically. It appears to the right of the footer.
Slide number field can be turned on as well. It appears to the left of the footer.
PROSE Approach
Kernel Hypervisor Interface
Logical Partition
Hardware Platform
Hypervisor
Logical Partition
Logical Partition
Logical Partition
Hardware Hypervisor Interface
DB2lib OSlib OSGUPS9P
9P
ControllerControllerApp9p
Run applications in stand-alone partition
Enable execution environment which makes starting a partition as easy as starting an application
Development environment allowing creation of specialized kernels as easy as developing an application (library-OS)
Resource sharing between library-OS partitions and traditional partitions keeping library-OS kernels simple and reliable
Extensions to allow bridging resource sharing and management across the entire cluster.
Unified communication protocol for resource sharing and control with built-in failure detection and recovery.
rHype: IBM's Research Hypervisor for Power
Small (~30k lines of code for both x86 & PowerPC)
Developed as a validation test for Cell virtualization features and as a research platform for LPAR research
Uses same system interfaces as IBM's commercial Power virtualization engine
Open Sourced: http://www.research.ibm.com/hypervisor
Applibc AppMPImyOSTransparent Application Development Process
Original Application
PROSE Application
Custom OS Library
ApplibOS
Library OS Components
library OS services (kernel libc)9P FilesystemChannel I/OSchedulerThread Librarystandard I/Osys svc gwnetworkconsoletimelibrary interfacesvirtual machineapplication(s)
HardwareDevices
SystemServices
ApplicationServices
Disk
Network
TCP/IP Stack
Database
GUI
/dev/hda1
/dev/hda2
tun/tap driver/dev/eth0
/dev/tap0
/dev/tap1
/net /arp/udp/tcp/clone/stats/0/1/ctl/data/listen/local/remote/status
File System
/mnt/9p_root/mnt/common_fs/mnt/remote_nfs
/sql/clone/0/query/result/1
/win/clone/0/1/ctl/data/opengl/refresh/2
Resources Sharing via File Name Space
PROSE I/O
u9fsdevconsPrivatenamespace
in channel
out channel
Shared Memory
libfs
applicationopenreadwriteclose
Network
tcp/ip
mpifs
Ethernet
DiskPartition
FileSystem
netfs
PROSE Reliability
u9fsdevconsPrivatenamespace
in channel
out channel
Shared Memory
libfs
applicationopenreadwriteclose
Network
tcp/ip
mpifs
Ethernet
DiskPartition
FileSystem
netfs
in channel
out channel
Shared Memory
u9fsdevconsPrivatenamespace
mpifs
Ethernet
DiskPartition
FileSystem
netfs
arlx112
arlx113
Both
IBM JS20 Blade
SLOF Firmware
4 GB DRAM Memory
Single* 1.66 GHZ 970
Linux 2.6.10
Running GUPS w/128MB set size
Controller Partition
Linux 2.6.10
64 MB of memory
PROSE Partition
GUPS + lib-os
1 GB of memory
GUPS w/128MB set size
Console & Time over 9P
Performance Experimental Setup
Sparse Memory Benchmark Performance
Noise Control w/PROSE & Hypervisors
Allow strict control of percentage of CPU devoted to application versus system daemons and I/O requests
Can eliminate jitter associated with interrupt service routines
Provides a higher degree of determinism that vanilla Linux, but does so at a performance cost
Noise Analysis Experimental Setup
arlx112
arlx113
Both
IBM JS20 Blade
SLOF Firmware
4 GB DRAM Memory
Single* 1.66 GHZ 970
Linux 2.6.10
Controller Partition
Linux 2.6.10
64 MB of memory
PROSE Partition
Application + lib-os
1 GB of memory
Console & Time over 9P
Noise Comparison
Linux Idle
Linux Loaded
PROSE Idle
PROSE Loaded
rHype scheduler explanation
Simple fixed-slot round-robin scheduler.
Quanta is determined by special HDEC counter (default quanta=20ms)
Partitions can be given greater share of CPU by being assigned multiple slots.
Potential Interrupt Policies
Hypervisor Serviced Interrupts
ISR runs in hypervisor context
Partition Preempting Interrupts
Partition with ISR preempts current partition
Hypervisor Mitigated Interrupts
Hypervisor queues interrupt for delivery to partition
Hardware Based Interrupt Routing
Phase Scheduling Noise
FWQ aren't aligned to scheduler quanta
Noise is exacerbated by fixed length scheduling slots.
Fixed noise ratio based on HDEC length
...
Status
Implementing a PAPR compliant CR/Q transport for 9P which could be used by IBM's commercial hypervisor.
Thread module has been implemented and will be available as part of PROSE libraries.
Prototype Xen 9P transport was implemented with reliability/fail-over capabilities. Needs to be moved to new code-base.
Working to support a JVM running on top of PROSE in order to be able to run a large scale commercial workload for performance analysis.
Future Work
Performance Experiments
Continue on track to being able to run a large commercial workload instead of microbenchmarks.
Noise Experiments
Experiment with dynamic scheduling policy which adapts slot-scheduler based on idle yielding.
Repeat experiments with different interrupt service policies.
Repeat experiments with different virtualization implementations (Xen, VMware, IBM Virtualization Engine, etc.)
Repeat experiments with a standard benchmark w/ I/O dependencies instead of relying on microbenchmarks.
SMP studies.
Acknowledgments
This work would not be possible without the contributions of Jimi Xenidis, Michal Ostrowski, Orran Krieger, and the rest of the rHype team. This work was supported in part by the Defense Advanced Research Projects Agency under contract no. NBCH30390004.
http://www.research.ibm.com/prosehttp://www.research.ibm.com/hypervisorhttp://www.research.ibm.com/systemsim
BACKUP SLIDES
Results - Linux
Idle
Loaded
Results - PROSE
Idle
Loaded
HDEC Sensitivity
TimeFWQ Completion Time (ms)Column DColumn E
Row 10126.07722625
Row 2126.161866875126.16182875
Row 3252.2564275126.094521875
Row 4378.10291625125.846448125
Row 5504.14569625126.042739375
Row 6629.858444375125.71271
Row 7755.7751575125.916675
Row 8881.696415625125.918486875
Row 91007.601234375125.904779375
Row 101133.55417625125.95290125
Row 111259.546905625125.992690625
Row 121385.41506875125.868124375
Row 131511.4149275125.999819375
Row 141637.387765625125.9727975
Row 151763.507926875126.1201225
Row 161889.65403125126.146065
Row 172015.7322725126.0782025
Row 182141.700245625125.967934375
Row 192267.63791125125.937626875
Row 202393.595575625125.957625625
Row 212519.605284375126.00967
Row 222645.563726875125.95840375
Row 232771.573620625126.009855
Row 242897.599194375126.025533125
Row 253023.490695625125.891463125
Row 263149.48082375125.990085
Row 273275.3762175125.895355
Row 283401.361431875125.985175625
Row 293527.29757625125.936105625
Row 303653.30469875126.007083125
Row 313779.166051875125.861314375
Row 323905.054554375125.888463125
Row 334030.901824375125.847229375
Row 344156.929799375126.027935625
Row 354283.012981875126.083141875
Row 364408.933469375125.920446875
Row 374535.0114525126.07794375
Row 384661.024974375126.013483125
Row 394786.7777575125.752743125
Row 404912.70404875125.92625125
Row 415038.6167925125.912705625
Row 425164.56877125125.951939375
Row 435290.696261875126.127451875
Row 445416.7476425126.05134125
Row 455543.006288125126.258596875
Row 465668.741395625125.73506875
Row 475794.650340625125.90890625
Row 485920.7512525126.100873125
Row 496046.70017125125.94888
Row 506172.714953125126.014743125
Row 516298.88159625126.16660375
Row 526425.176144375126.294509375
Row 536551.16308625125.9869025
Row 546677.450276875126.28715
Row 556803.70641625126.2561
Row 566929.6729275125.966470625
Row 577055.76502375126.092055625
Row 587181.797715126.0326525
Row 597308.102303125126.30454875
Row 607433.97511875125.8727775
Row 617560.20941875126.23426125
Row 627686.208275625125.99881875
Row 637812.01268875125.80437375
Row 647937.983925625125.9711975
Row 658063.896218125125.912246875
Row 668190.066051875126.169795625
Row 678316.5676675126.50157625
Row 688442.334289375125.766581875
Row 698568.477510625126.1431825
Row 708694.67266625126.19511625
Row 718820.735105625126.062400625
Row 728946.88219625126.147051875
Row 739072.793164375125.908228125
Row 749198.9214975126.128294375
Row 759325.10171625126.180179375
Row 769451.20028875126.09853375
Row 779577.251365625126.051038125
Row 789703.356028125126.10461125
Row 799829.50021375126.144146875
Row 809955.5259225126.025675
Row 8110081.487136875125.961175625
Row 8210207.502871875126.01569625
Row 8310333.6081825126.105271875
Row 8410459.5789675125.970745625
Row 8510585.861831875126.28282375
Row 8610711.83241875125.9705425
Row 8710838.002010625126.1695525
Row 8810964.117404375126.115355625
Row 8911090.123163125126.005718125
Row 9011216.218006875126.094805
Row 9111341.97429875125.756250625
Row 9211468.01744375126.04310625
Row 9311594.1842375126.166754375
Row 9411720.47452126.2902425
Row 9511846.77254125126.297981875
Row 9611972.901296875126.12871625
Row 9712098.963944375126.062606875
Row 9812225.102558125126.138574375
Row 9912351.094966875125.9923575
Row 10012477.056091875125.96108625
Row 10112603.196643125126.1405125
Row 10212728.931909375125.7352275
Row 10312854.720329375125.788381875
Row 10412980.578845625125.858478125
Row 10513106.552736875125.9738525
Row 10613232.723051875126.17027625
Row 10713358.9904575126.267366875
Row 10813485.049770625126.059274375
Row 10913611.04136125.991550625
Row 11013737.144505126.10310625
Row 11113863.21326375126.06872
Row 11213989.30061125126.08730875
Row 11314115.204519375125.90387
Row 11414241.27909126.07453125
Row 11514367.466168125126.187039375
Row 11614493.776570625126.31036375
Row 11714619.7451525125.968543125
Row 11814745.54214375125.796944375
Row 11914871.62175625126.079573125
Row 12014997.70183125126.08003625
Row 12115123.83602875126.134158125
Row 12215250.19924125126.363171875
Row 12315376.2552325126.055951875
Row 12415502.22159125.96631875
Row 12515628.4396825126.218051875
Row 12615754.710733125126.271011875
Row 12715880.71177375126.001001875
Row 12816006.785068125126.07325375
Row 12916133.064396875126.27929
Row 13016258.959335625125.8949
Row 13116384.76760375125.808229375
Row 13216510.49172375125.72408125
Row 13316636.558385625126.066623125
Row 13416762.9683525126.409928125
Row 13516888.973895625126.005504375
Row 13617014.960686875125.986751875
Row 13717141.161676875126.20095125
Row 13817267.28948875126.127770625
Row 13917393.28466125125.99513375
Row 14017519.489735126.205035
Row 14117645.6170975126.12732375
Row 14217771.8425275126.225389375
Row 14317897.733033125125.890466875
Row 14418023.84770125126.11463
Row 14518149.72966125.88192
Row 14618275.687931875125.958233125
Row 14718401.687751875125.999780625
Row 14818527.497180625125.80939
Row 14918653.775718125126.278496875
Row 15018779.764335625125.98857875
Row 15118905.933106875126.16873
Row 15219031.87162125125.938475
Row 15319158.097403125126.225738125
Row 15419284.092319375125.9948775
Row 15519410.026725625125.934365625
Row 15619535.98632375125.959559375
Row 15719662.170725625126.18436125
Row 15819788.2514775126.080710625
Row 15919914.642258125126.39074
Row 16020040.71811375126.07581625
Row 16120166.74865125126.030498125
Row 16220292.65807875125.90938875
Row 16320418.798948125126.14082625
Row 16420545.077361875126.2783675
Row 16520671.3973075126.3199025
Row 16620797.516996875126.11964625
Row 16720923.768445625126.2514025
Row 16821049.86088375126.092399375
Row 16921176.019580625126.158654375
Row 17021302.331414375126.311786875
Row 17121428.597928125126.266475
Row 17221554.7104575126.112485
Row 17321680.98968375126.279180625
Row 17421806.998035126.008308125
Row 17521933.17975625126.1816825
Row 17622059.32812126.148324375
Row 17722185.672799375126.344633125
Row 17822311.9511725126.27833375
Row 17922438.226439375126.275228125
Row 18022564.321526875126.09504875
Row 18122690.4357225126.11415625
Row 18222816.82646625126.390705625
Row 18322942.81485375125.98834875
Row 18423068.8604075126.045515
Row 18523195.32746126.467019375
Row 18623321.464503125126.137004375
Row 18723447.643053125126.17851125
Row 18823573.84968125126.20659
Row 18923699.90652125126.056800625
Row 19023826.115730625126.209170625
Row 19123951.958335625125.84256625
Row 19224078.12916625126.170791875
Row 19324204.226078125126.09687125
Row 19424330.256856875126.030739375
Row 19524456.572926875126.316029375
Row 19624582.604561875126.031595
Row 19724708.7332126.128599375
Row 19824835.0474625126.31421625
Row 19924961.25160875126.204105625
Row 20025087.37824625126.126590625
Row 20125213.46494125126.0866525
Row 20225339.51678875126.05180875
Row 20325465.7630025126.246174375
Row 20425591.964590625126.201545
Row 20525718.18663875126.222
Row 20625844.296854375126.1101675
Row 20725970.185581875125.888680625
Row 20826096.312521875126.12689125
Row 20926222.659971875126.347406875
Row 21026348.938384375126.27836625
Row 21126475.14149126.203065625
Row 21226601.063780625125.92225125
Row 21326727.115858125126.05203875
Row 21426853.37183375126.255936875
Row 21526979.211491875125.839619375
Row 21627105.452674375126.241141875
Row 21727231.270330625125.817616875
Row 21827356.971700625125.70133125
Row 21927482.811198125125.83945875
Row 22027608.630125625125.818888125
Row 22127734.34423125.714065625
Row 22227860.118704375125.774435
Row 22327985.738925125.62015625
Row 22428111.569965625125.830984375
Row 22528237.304611875125.734605625
Row 22628363.0725625125.767904375
Row 22728488.862988125125.790385
Row 22828614.682876875125.81985
Row 22928740.41132125125.728405625
Row 23028866.187939375125.77657125
Row 23128991.91751375125.72953125
Row 23229117.599940625125.68238
Row 23329243.388065125.78808375
Row 23429369.163823125125.775719375
Row 23529494.885850625125.72198875
Row 23629620.641933125125.756043125
Row 23729746.36439625125.722416875
Row 23829872.146663125125.78221875
Row 23929997.819251875125.67255
Row 24030123.57151625125.752225625
Row 24130249.44478375125.873225
Row 24230375.174934375125.73008875
Row 24330500.93656125.761583125
Row 24430626.722118125125.785518125
Row 24530752.47063125.7484725
Row 24630878.31615375125.845484375
Row 24731004.08302625125.76683375
Row 24831129.92118125125.83811625
Row 24931255.696300625125.775080625
Row 25031381.443656875125.747305625
Row 25131507.249229375125.805531875
Row 25231633.076331875125.82706
Row 25331758.822074375125.74570375
Row 25431884.65457125125.832458125
Row 25532010.39365625125.739045625
Row 25632136.112780625125.719085
Row 25732261.727681875125.6148625
Row 25832387.3415475125.613826875
Row 25932513.156460625125.81486875
Row 26032639.00108625125.844586875
Row 26132764.967700625125.966565
Row 26232890.65555625125.68781625
Row 26333016.92206375126.266460625
Row 26433142.87904875125.9569425
Row 26533268.82478125125.94569375
Row 26633394.847143125126.022323125
Row 26733520.590393125125.743208125
Row 26833647.006183125126.41575125
Row 26933773.043744375126.0375225
Row 27033899.112055625126.068271875
Row 27134025.0409575125.9288625
Row 27234150.9363475125.89535125
Row 27334276.91651875125.9801325
Row 27434403.126044375126.209483125
Row 27534529.23964625126.113561875
Row 27634655.14171125125.90202625
Row 27734781.0789125.93713
Row 27834907.001105625125.9221575
Row 27935032.49523125125.49408625
Row 28035158.214705625125.719435625
Row 28135283.700243125125.48549875
Row 28235409.4934425125.793148125
Row 28335536.314498125126.821015
Row 28435662.084923125125.770386875
Row 28535788.03610625125.951144375
Row 28635914.336195625126.30004125
Row 28736040.42361125126.087375625
Row 28836166.161269375125.73761875
Row 28936292.404126875126.242816875
Row 29036418.12549125125.721325
Row 29136544.054861875125.92933125
Row 29236670.204625126.149724375
Row 29336796.65946126.454795625
Row 29436922.885133125126.225634375
Row 29537048.977571875126.092399375
Row 29637174.716033125125.738418125
Row 29737300.519326875125.803255
Row 29837426.3815775125.862211875
Row 29937552.44862125126.067004375
Row 30037678.31089625125.862235625
Row 30137803.924090625125.61315375
Row 30237929.882108125125.95797875
Row 30338056.033096875126.150949375
Row 30438181.80454375125.7714075
Row 30538307.611834375125.807250625
Row 30638433.671611875126.0597375
Row 30738559.630405125.95875375
Row 30838685.769840625126.13939375
Row 30938811.84863875126.078761875
Row 31038938.195853125126.347175625
Row 31139064.2570175126.061125625
Row 31239190.32470875126.0676525
Row 31339316.475613125126.15086375
Row 31439442.823918125126.34826625
Row 31539569.067755126.243798125
Row 31639694.874428125125.806634375
Row 31739820.984353125126.10988625
Row 31839946.94217125125.95777875
Row 31940073.11986875126.177658125
Row 32040199.010364375125.89045625
Row 32140324.64416375125.633760625
Row 32240450.416281875125.772079375
Row 32340576.07927875125.662958125
Row 32440701.99605375125.916734375
Row 32540828.448461875126.452369375
Row 32640954.622529375126.17402875
Row 32741080.49682375125.874253125
Row 32841206.785671875126.2888075
Row 32941332.940885625126.155174375
Row 33041459.219848125126.27892375
Row 33141585.3457975126.125910625
Row 33241710.993104375125.647268125
Row 33341836.872055125.87891125
Row 33441963.071453125126.19935875
Row 33542089.000616875125.9291175
Row 33642214.823901875125.823245
Row 33742340.693021875125.86908125
Row 33842466.7783275126.085266875
Row 33942592.86176375126.083398125
Row 34042718.875705625126.013901875
Row 34142844.785645625125.909900625
Row 34242970.95863875126.172954375
Row 34343097.21509126.256411875
Row 34443222.919070625125.703941875
Row 34543348.608984375125.6898725
Row 34643475.01141126.402386875
Row 34743600.914855625125.903406875
Row 34843726.98735126.072455
Row 34943852.870113125125.882724375
Row 35043978.849649375125.979496875
Row 35144104.88517375126.035485625
Row 35244231.0202175126.135003125
Row 35344356.639595125.619339375
Row 35444482.300460625125.660826875
Row 35544608.01171125.71120875
Row 35644733.82700625125.815255625
Row 35744859.71992125.892875
Row 35844985.483389375125.76342875
Row 35945111.50040375126.016975
Row 36045237.6464325126.14599
Row 36145363.46530625125.818835
Row 36245489.257406875125.792061875
Row 36345614.793805625125.53636
Row 36445740.5203125.726455625
Row 36545865.977171875125.456823125
Row 36645991.44111875125.4639075
Row 36746117.40321125.9620375
Row 36846243.501183125126.097933125
Row 36946369.560641875126.059415625
Row 37046495.543914375125.98323375
Row 37146621.678560625126.1346075
Row 37246747.54834375125.869744375
Row 37346873.338745125.79036375
Row 37446999.14101375125.8022275
Row 37547124.897009375125.755956875
Row 37647250.71978625125.822738125
Row 37747376.52204625125.802220625
Row 37847502.264494375125.742409375
Row 37947628.027918125125.763385625
Row 38047753.7695375125.74158
Row 38147879.455163125125.68558875
Row 38248005.1990375125.743835625
Row 38348131.26311625126.06404
Row 38448257.272831875126.009676875
Row 38548383.195305125.922434375
Row 38648509.12046375125.92512
Row 38748635.990924375126.870423125
Row 38848761.83714375125.8461825
Row 38948887.666869375125.829686875
Row 39049013.747589375126.080679375
Row 39149139.668738125125.92111
Row 39249265.546995625125.8782175
Row 39349391.871658125126.324623125
Row 39449518.30551625126.43382
Row 39549644.801935625126.4963825
Row 39649770.965275625126.16330125
Row 39749897.147249375126.181936875
Row 39850023.165680625126.0183925
Row 39950149.019968125125.85425375
Row 40050275.277966875126.25795875
Row 40150401.441346875126.163333125
Row 40250527.683969375126.242581875
Row 40350653.68252875125.99851875
Row 40450779.874681875126.19211375
Row 40550906.335805625126.461086875
Row 40651032.574345625126.23850125
Row 40751158.733016875126.1586325
Row 40851285.00199875126.2689425
Row 40951411.084735126.0826975
Row 41051537.472279375126.3875075
Row 41151663.72570375126.25337625
Row 41251790.1389025126.413151875
Row 41351916.585674375126.446733125
Row 41452042.670739375126.0850175
Row 41552168.51306875125.84228125
Row 41652294.365188125125.852081875
Row 41752420.018673125125.653445625
Row 41852545.64330375125.624584375
Row 41952671.51376125125.8704125
Row 42052797.260150625125.74634125
Row 42152923.08588125.825666875
Row 42253048.933815625125.84789875
Row 42353174.733903125125.80004
Row 42453300.53185875125.7979075
Row 42553426.50676125125.974863125
Row 42653552.224516875125.717716875
Row 42753678.07771625125.85316
Row 42853803.839825125.762053125
Row 42953929.633485625125.79362125
Row 43054055.463219375125.829695
Row 43154181.325683125125.86241
Row 43254307.10866125.782936875
Row 43354432.91636375125.807655
Row 43454558.69663625125.78023375
Row 43554684.4891875125.792511875
Row 43654810.206610625125.717384375
Row 43754936.017236875125.81057875
Row 43855061.809388125125.7921125
Row 43955187.469345625125.659918125
Row 44055313.259725125.79034
Row 44155438.982695625125.72024
Row 44255564.62324875125.640514375
Row 44355690.363956875125.740669375
Row 44455816.21017125.846174375
Row 44555942.070336875125.860128125
Row 44656067.804936875125.73456125
Row 44756194.126584375126.321606875
Row 44856320.48193625126.355314375
Row 44956446.562950625126.080951875
Row 45056572.545926875125.982905
Row 45156698.526371875125.98040625
Row 45256824.770395126.24398625
Row 45356950.970894375126.200460625
Row 45457077.127108125126.156175
Row 45557203.281771875126.15462375
Row 45657329.167465125.88565375
Row 45757455.23458126.06707625
Row 45857581.2143675125.97973875
Row 45957707.247775625126.033369375
Row 46057833.30498375126.057169375
Row 46157959.33750625126.032484375
Row 46258085.44992625126.11235125
Row 46358211.5204225126.070456875
Row 46458337.691496875126.171035625
Row 46558463.926061875126.23452125
Row 46658589.968759375126.04265875
Row 46758715.911729375125.94293125
Row 46858841.769546875125.85777875
Row 46958967.87098625126.10139875
Row 47059093.975014375126.10398875
Row 47159220.14536875126.17031375
Row 47259346.273500625126.12809
Row 47359472.369839375126.096299375
Row 47459598.468705126.098826875
Row 47559724.396625125.927879375
Row 47659850.687213125126.290549375
Row 47759976.65226125.9650075
Row 47860102.703853125126.0515525
Row 47960228.553629375125.849726875
Row 48060354.526921875125.973253125
Row 48160480.368214375125.841251875
Row 48260606.502759375126.1344875
Row 48360733.004435625126.501636875
Row 48460858.913195625125.90872125
Row 48560984.8951075125.9818725
Row 48661111.113826875126.21868
Row 48761237.1742125126.060345625
Row 48861363.0661825125.891926875
Row 48961489.037450625125.971228125
Row 49061614.84165875125.804159375
Row 49161740.529231875125.687534375
Row 49261866.208316875125.679045625
Row 49361991.977313125125.768955625
Row 49462117.80937875125.832026875
Row 49562243.672025125.8626075
Row 49662369.706755625126.034691875
Row 49762495.89655125126.18975625
Row 49862622.151725126.255134375
Row 49962748.26589875126.114135
Row 50062874.277789375126.011851875
Row 50163000.357519375126.07969
Row 50263126.50940875126.151850625
Row 50363252.52484625126.01539875
Row 50463378.6460975126.1212125
Row 50563504.849045625126.20290875
Row 50663631.251689375126.402605625
Row 50763757.538775625126.287048125
Row 50863884.827933125127.28911875
Row 50964013.129715625128.30174375
Row 51064139.865960625126.73620625
Row 51164266.06453625126.19853625
Row 51264392.294911875126.230336875
Row 51364518.15378125125.8588175
Row 51464644.068956875125.915136875
Row 51564770.29616125126.227165625
Row 51664896.545173125126.24896625
Row 51765022.594729375126.0495175
Row 51865148.552508125125.95774
Row 51965274.3481525125.795605625
Row 52065400.0031175125.654901875
Row 52165525.778625125.7754675
Row 52265651.5979225125.81925875
Row 52365777.9302275126.33225375
Row 52465904.112025625126.18175875
Row 52566030.4297725126.31771
Row 52666156.706054375126.27624375
Row 52766283.017050625126.3109575
Row 52866409.14396625126.126875625
Row 52966535.321679375126.177675
Row 53066661.489265625126.16754875
Row 53166787.5361575126.046853125
Row 53266913.62404875126.087853125
Row 53367039.86963625126.24554125
Row 53467166.210375625126.340700625
Row 53567292.1011875125.890773125
Row 53667418.054395125.95315875
Row 53767543.99068125125.9362475
Row 53867670.0001725126.0094525
Row 53967796.167651875126.16744125
Row 54067922.148528125125.9808375
Row 54168048.186146875126.03758
Row 54268174.111443125125.925256875
Row 54368300.3017575126.190276875
Row 54468426.51691126.215104375
Row 54568552.572210625126.05526125
Row 54668678.676866875126.104615625
Row 54768804.450445125.773539375
Row 54868930.56685625126.1163725
Row 54969056.4348475125.86793875
Row 55069182.539279375126.104393125
Row 55169308.805409375126.266091875
Row 55269434.99813125126.1926825
Row 55369561.226326875126.22814875
Row 55469687.405985126.179609375
Row 55569813.587725625126.181701875
Row 55669939.8211425126.2333775
Row 55770066.05769125126.23651
Row 55870191.701635625125.643905
Row 55970317.431275625125.72960125
Row 56070443.665930625126.23461625
Row 56170569.53857625125.87260625
Row 56270695.25577875125.717163125
Row 56370821.117208125125.861378125
Row 56470946.9606475125.843399375
Row 56571072.752916875125.792226875
Row 56671198.53986375125.78690875
Row 56771324.3357025125.7958
Row 56871450.094866875125.759124375
Row 56971575.91419375125.81928625
Row 57071701.71704125.8028075
Row 57171827.572690625125.855611875
Row 57271953.294960625125.72221625
Row 57372079.054791875125.7597925
Row 57472204.805476875125.750645625
Row 57572330.5412725125.7357575
Row 57672456.36229625125.820966875
Row 57772582.166134375125.803799375
Row 57872707.985686875125.795249375
Row 57972833.837430625125.851705
Row 58072959.769374375125.931898125
Row 58173085.5771125.807685
Row 58273211.41881125.841670625
Row 58373337.4055775125.98672875
Row 58473463.224406875125.81879
Row 58573589.087734375125.86328875
Row 58673714.60313125.515356875
Row 58773840.36232125.75915125
Row 58873965.989574375125.627215
Row 58974091.69400875125.704395625
Row 59074217.304353125125.610291875
Row 59174343.152120625125.847726875
Row 59274469.01162125125.8594575
Row 59374594.635235625125.623575625
Row 59474720.251895625125.61662
Row 59574845.920773125125.668843125
Row 59674971.584529375125.663716875
Row 59775097.206983125125.62241375
Row 59875222.84849125125.6414675
Row 59975348.375563125125.5270325
Row 60075474.04517125.6695675
Row 60175599.64910125125.603875
Row 60275725.248953125125.59979375
Row 60375850.89645125.647458125
Row 60475976.484170625125.587681875
Row 60576102.128221875125.64401125
Row 60676227.706720625125.57844125
Row 60776353.3708925125.66413125
Row 60876478.999115625125.628184375
Row 60976604.6420875125.6429325
Row 61076730.245598125125.603470625
Row 61176855.96900875125.72337375
Row 61276981.577785125.6087375
Row 61377107.376115125.798291875
Row 61477232.976555125.600399375
Row 61577358.59128125.614685625
Row 61677484.282420625125.691101875
Row 61777609.861950625125.57949125
Row 61877735.412261875125.550270625
Row 61977861.0201075125.6078075
Row 62077986.55702125.5368725
Row 62178112.130201875125.573143125
Row 62278237.86394625125.733705625
Row 62378364.031045625126.167060625
Row 62478490.07571875126.044634375
Row 62578616.1879525126.112195
Row 62678742.3676725126.17968125
Row 62778868.454123125126.086411875
Row 62878994.390889375125.93671
Row 62979120.69207625126.301138125
Row 63079246.969648125126.2775325
Row 63179373.263160625126.293473125
Row 63279499.52073625126.257536875
Row 63379625.520793125126.0000175
Row 63479751.714754375126.193921875
Row 63579877.965686875126.25089375
Row 63680004.177165126.21143875
Row 63780130.417744375126.240525
Row 63880256.33358125.915796875
Row 63980381.99654125125.6629225
Row 64080507.51551625125.51893625
Row 64180633.254366875125.73881
Row 64280758.94879375125.694388125
Row 64380885.1365475126.187714375
Row 64481011.26645875126.1298725
Row 64581137.405724375126.139226875
Row 64681263.119961875125.71419875
Row 64781388.980900625125.8609
Row 64881514.743373125125.762431875
Row 64981640.51878625125.775361875
Row 65081766.30886625125.790035
Row 65181891.990469375125.681564375
Row 65282017.660203125125.669694375
Row 65382143.262391875125.602150625
Row 65482268.914875125.652445
Row 65582394.4731275125.558213125
Row 65682520.088781875125.615615625
Row 65782645.6201275125.531306875
Row 65882771.337526875125.717356875
Row 65982897.59240125126.254835
Row 66083023.5851175125.992678125
Row 66183149.48591125125.900755625
Row 66283275.445693125125.959743125
Row 66383401.474355126.028623125
Row 66483527.4064625125.93206875
Row 66583653.447173125126.04067
Row 66683779.39142125.9442075
Row 66783905.504710625126.113250625
Row 66884031.520973125126.016223125
Row 66984157.42035375125.89934125
Row 67084284.944419375127.52402125
Row 67184413.524323125128.579865
Row 67284540.520250625126.99588875
Row 67384666.379899375125.85961
Row 67484792.341265125.9613275
Row 67584918.2498375125.90853375
Row 67685044.30276875126.0528925
Row 67785170.303251875126.0004275
Row 67885296.280633125125.9773425
Row 67985422.305264375126.0245925
Row 68085548.24087125125.9355675
Row 68185674.277365126.036455
Row 68285800.1087375125.831333125
Row 68385925.96014375125.8513675
Row 68486051.753505625125.793321875
Row 68586177.440238125125.6866925
Row 68686303.250333125125.81005625
Row 68786428.905174375125.654801875
Row 68886554.5408125125.635599375
Row 68986680.269729375125.72887875
Row 69086805.978934375125.709164375
Row 69186931.620259375125.641284375
Row 69287057.345035625125.724738125
Row 69387183.09047875125.745405
Row 69487308.761630625125.6711125
Row 69587434.35043125.58875875
Row 69687560.135899375125.78543
Row 69787685.804153125125.668213125
Row 69887811.537541875125.733350625
Row 69987937.422831875125.88525125
Row 70088063.349809375125.92693875
Row 70188189.084955625125.73507875
Row 70288314.8031675125.71817375
Row 70388440.507493125125.70428625
Row 70488566.15644125125.64890875
Row 70588691.84339125.6869
Row 70688817.3759775125.53254875
Row 70788942.953649375125.577625625
Row 70889068.64071375125.687025
Row 70989194.256459375125.61570625
Row 71089319.843548125125.58705
Row 71189445.420966875125.5773775
Row 71289571.45474625126.033740625
Row 71389697.64139375126.1866075
Row 71489823.89595625126.2545225
Row 71589950.04150375126.14549875
Row 71690075.895114375125.853571875
Row 71790201.732025625125.8368725
Row 71890327.828044375126.09598
Row 71990453.719689375125.891605625
Row 72090579.51871625125.798986875
Row 72190705.378573125125.859818125
Row 72290831.49171126.113098125
Row 72390957.374465125.882716875
Row 72491083.10968875125.735185
Row 72591209.14222375126.032494375
Row 72691335.257871875126.11560875
Row 72791461.3595275126.101616875
Row 72891587.13105125.77145875
Row 72991712.87919375125.748105625
Row 73091838.61733875125.73810625
Row 73191964.36811125.750730625
Row 73292090.119666875125.751518125
Row 73392215.865330625125.745625
Row 73492341.879316875126.013946875
Row 73592468.10172875126.222380625
Row 73692594.364979375126.26321875
Row 73792720.66347625126.298458125
Row 73892846.91955875126.25604375
Row 73992973.01738125126.097781875
Row 74093098.77553125.758109375
Row 74193224.667100625125.891531875
Row 74293350.574253125125.907114375
Row 74393476.690840625126.116548125
Row 74493602.57916125125.888280625
Row 74593728.69881875126.11961875
Row 74693854.7842725126.085415
Row 74793980.7603325125.97602125
Row 74894106.805333125126.044961875
Row 74994232.835413125126.030041875
Row 75094358.6221825125.786730625
Row 75194484.22748625125.605265
Row 75294609.787375125.55985
Row 75394735.345356875125.5579425
Row 75494861.101253125125.755856875
Row 75594986.830998125125.72970625
Row 75695112.475093125125.64405625
Row 75795238.140493125125.665361875
Row 75895363.789005125.648473125
Row 75995489.42617375125.63713
Row 76095614.998194375125.571983125
Row 76195740.642373125125.644139375
Row 76295866.232961875125.59054
Row 76395991.774603125125.5416025
Row 76496117.347711875125.57307
Row 76596242.979145125.631394375
Row 76696368.49399875125.514815
Row 76796493.988055125.4940175
Row 76896619.502834375125.51474125
Row 76996745.021525125.518643125
Row 77096870.540156875125.518593125
Row 77196995.961500625125.421305625
Row 77297121.608726875125.64718625
Row 77397247.25988125.651114375
Row 77497372.9454275125.68550875
Row 77597498.5543675125.608899375
Row 77697624.042803125125.48839625
Row 77797749.57596375125.533105
Row 77897875.15755125.58154125
Row 77998000.65770125125.5001125
Row 78098126.238808125125.581060625
Row 78198251.95863875125.719791875
Row 78298377.63105875125.67237125
Row 78398503.3580425125.726945
Row 78498628.96947125125.611390625
Row 78598754.6426325125.673120625
Row 78698880.306594375125.6639225
Row 78799005.77196875125.46533375
Row 78899131.368343125125.59633375
Row 78999256.977414375125.609030625
Row 79099382.600894375125.62344125
Row 79199508.2211525125.6202175
Row 79299633.886163125125.664971875
Row 79399759.584269375125.6980675
Row 79499885.2624925125.67818375
Row 795100011.015018125125.752485
Row 796100136.76608625125.75100875
Row 797100262.56626125.800134375
Row 798100388.22049125.65419
Row 799100514.063848125125.843318125
Row 800100639.833398125125.76951125
Row 801100765.528251875125.6948125
Row 802100891.203974375125.675681875
Row 803101017.21664125126.012629375
Row 804101143.367074375126.150395
Row 805101269.538176875126.171063125
Row 806101395.363628125125.825408125
Row 807101521.1599825125.79631625
Row 808101647.0134775125.85345625
Row 809101772.82393375125.810408125
Row 810101898.6772225125.85325
Row 811102024.515891875125.83862125
Row 812102150.53103375126.015110625
Row 813102276.583049375126.0519775
Row 814102402.42085875125.83777125
Row 815102528.118109375125.697204375
Row 816102653.920040625125.8018925
Row 817102779.781416875125.861338125
Row 818102905.69163625125.910180625
Row 819103031.807755625126.11608
Row 820103157.841946875126.0341525
Row 821103283.703970625125.861985625
Row 822103409.56640125125.862393125
Row 823103535.468320625125.90188125
Row 824103661.35573875125.887380625
Row 825103787.201943125125.84616625
Row 826103913.3919325126.18995125
Row 827104039.61984125126.22787125
Row 828104165.829429375126.209549375
Row 829104291.960285625126.13081875
Row 830104418.1605825126.20025875
Row 831104544.050295625125.889673125
Row 832104669.9526675125.90232375
Row 833104795.86371375125.91100875
Row 834104921.35828375125.494531875
Row 835105046.885425125.52709375
Row 836105172.417483125125.53202
Row 837105297.89421875125.4766975
Row 838105423.4876425125.593385
Row 839105549.06920375125.58152375
Row 840105674.7362825125.667039375
Row 841105801.1365125126.40019125
Row 842105927.559056875126.42250375
Row 843106053.328609375125.76951375
Row 844106179.030746875125.702098125
Row 845106304.997730625125.966945
Row 846106431.246518125126.24875
Row 847106558.332266875127.08571
Row 848106684.902615126.570306875
Row 849106810.801503125125.898843125
Row 850106936.48963875125.68809625
Row 851107062.192006875125.702329375
Row 852107188.0105875125.81854
Row 853107313.76041125.749784375
Row 854107439.411284375125.650835625
Row 855107565.04868875125.637365625
Row 856107690.67399625125.62526875
Row 857107816.420131875125.746096875
Row 858107942.076795125.6566225
Row 859108068.210778125126.13394375
Row 860108193.965635625125.75481125
Row 861108319.70964625125.7439675
Row 862108445.480380625125.770695625
Row 863108571.154915625125.67449625
Row 864108696.82447125.6694975
Row 865108822.429391875125.604881875
Row 866108948.21638625125.7869475
Row 867109074.12362375125.907189375
Row 868109200.10725625125.9835925
Row 869109325.924935625125.8176325
Row 870109451.60078625125.675799375
Row 871109577.219044375125.61821125
Row 872109702.8654775125.646385
Row 873109828.653319375125.78779125
Row 874109954.357465625125.70409875
Row 875110079.988264375125.630751875
Row 876110205.72266625125.73435375
Row 877110331.4960025125.7732975
Row 878110457.107903125125.611861875
Row 879110582.854694375125.74674
Row 880110708.55652375125.701783125
Row 881110834.57363375126.017048125
Row 882110960.550525625125.976834375
Row 883111086.88866125126.3380925
Row 884111213.090704375126.202004375
Row 885111339.366156875126.275413125
Row 886111465.389363125126.0231675
Row 887111591.444023125126.0546175
Row 888111717.712903125126.268840625
Row 889111843.811825126.098883125
Row 890111969.826705625126.014841875
Row 891112096.066021875126.239276875
Row 892112222.004501875125.93844875
Row 893112348.063904375126.059363125
Row 894112474.096204375126.032259375
Row 895112600.222575126.126331875
Row 896112726.30477375126.082159375
Row 897112853.223226875126.91841375
Row 898112979.378008125126.154743125
Row 899113105.20986875125.831821875
Row 900113230.9156525125.705745
Row 901113356.647000625125.731309375
Row 902113482.347758125125.700718125
Row 903113608.142951875125.795154375
Row 904113734.116989375125.97399875
Row 905113860.1720525126.055024375
Row 906113986.2746275126.102525
Row 907114112.312426875126.037759375
Row 908114238.2405875125.928121875
Row 909114364.56149625126.32087
Row 910114490.467489375125.90595375
Row 911114616.2580425125.790513125
Row 912114742.46546125126.20738
Row 913114868.61928126.153780625
Row 914114994.793995625126.174675
Row 915115120.85814625126.064111875
Row 916115246.733454375125.875269375
Row 917115372.62342375125.8899225
Row 918115498.482873125125.85941125
Row 919115624.322831875125.839914375
Row 920115750.12564125.80276875
Row 921115875.9602725125.83459375
Row 922116001.79191875125.831606875
Row 923116128.00525875126.21330125
Row 924116254.16756875126.162269375
Row 925116380.03627375125.868665625
Row 926116505.85353875125.817225
Row 927116631.71527125.8616925
Row 928116757.67697125.96166125
Row 929116883.792895126.1158775
Row 930117010.144424375126.35148875
Row 931117136.18879126.044326875
Row 932117262.460655625126.2718275
Row 933117388.7252525126.26455625
Row 934117514.990155625126.264864375
Row 935117641.2656575126.275463125
Row 936117767.379673125126.11397625
Row 937117893.288125125.908413125
Row 938118019.346985126.05882
Row 939118145.389373125126.04234875
Row 940118271.448649375126.059235625
Row 941118397.570618125126.12193
Row 942118523.4049325125.834273125
Row 943118649.53248125126.12751
Row 944118775.71206126.179540625
Row 945118901.859251875126.1471525
Row 946119028.082595625126.223305
Row 947119154.00270625125.920071875
Row 948119279.701114375125.698369375
Row 949119405.544654375125.843501875
Row 950119531.318745625125.774050625
Row 951119657.126156875125.8073775
Row 952119782.953668125125.8274775
Row 953119908.836794375125.883078125
Row 954120035.041986875126.205153125
Row 955120161.079075126.037049375
Row 956120287.237198125126.158045625
Row 957120413.355575625126.118336875
Row 958120539.3894825126.03386625
Row 959120664.898921875125.509399375
Row 960120790.86214125.96317875
Row 961120916.701885625125.839705
Row 962121042.37736875125.67544375
Row 963121168.146290625125.7688825
Row 964121295.215231875127.068903125
Row 965121421.039990625125.82472
Row 966121546.87895375125.83892375
Row 967121672.769753125125.89076
Row 968121798.670646875125.900855625
Row 969121924.563983125125.893296875
Row 970122050.496739375125.932715625
Row 971122176.32634875125.829576875
Row 972122302.072145125.7457575
Row 973122427.70761625125.6354325
Row 974122553.378679375125.671025
Row 975122679.074830625125.696103125
Row 976122804.74266625125.667773125
Row 977122930.29225125125.5495225
Row 978123056.026704375125.734415
Row 979123181.827295125.800543125
Row 980123307.78587375125.958530625
Row 981123433.677561875125.891649375
Row 982123559.575643125125.898031875
Row 983123685.68525625126.109575
Row 984123811.449694375125.764390625
Row 985123937.427873125125.978139375
Row 986124063.371963125125.94405125
Row 987124189.3278975125.95589625
Row 988124315.37732126.049383125
Row 989124441.342056875125.96468875
Row 990124567.3059975125.9639
Row 991124693.385473125126.079435625
Row 992124819.12269875125.737185625
Row 993124945.221995625126.099258125
Row 994125071.048844375125.82681625
Row 995125196.993038125125.944155
Row 996125322.88658875125.8935025
Row 997125448.79616125125.90952375
Row 998125574.69045125.89425
Row 999125700.6384925125.948001875
Row 1000125826.243053125125.604521875
IBM Research(c) 2006 IBM Corporation
Partitioned Reliable Operating System Environment
05/30/06
IBM Research
FastOS Workshop
05/30/06
(c) 2006 IBM Corporation
IBM Research
FastOS Workshop
05/30/06
(c) 2006 IBM Corporation
for(i=0; i