ࡱ> 2B3c jbjbSS (11m]xxxx8 ,x",  6B6BQxxCS 6210 - Final - March 1999 Closed book and closed notes Your Name: Prof. Schwan Please make time to work on each question in this exam. Partial credit will be given whenever possible. 1) Short questions: 50 mins. (questions marked with * have more weight) a. Describe the difference between a multiprocessor that is an UMA vs. a NUMA machine, then briefly describe how the hardware supports synchronization and then, what that implies for software synchronization primitives (UMA = uniform memory access, NUMA = nonuniform ....). b. Describe how language- or compiler-level support might assist in the implementation of optimistic active messages. Be specific with respect to certain OAM characteristics. *c. What are UpCalls? How and when do they occur in X-Kernel? What other relationships can you identify between the UpCalls and X-kernel papers? *d. In what sense is the Ricart/Agrawala distributed synchronization algorithm optimal? Explain how this algorithm differs from the one presented by Lamport, intuitively. *f. Describe at least two different strategies you might use for file caching in a distributed file system. For each strategy, identify the consistency issues that arise and the possible solutions to them. g. The LRVM and RioVista papers make several simplifying assumptions about transaction support. What are those? Then comment on how that simplifies their implementations. h. Discuss the following statement, choose a pro or con position: a general purpose OS like Unix or NT will never be appropriate for the efficient execution of multimedia applications, so a new OS is needed (consider that SONY is in fact doing exactly that with their Apertos embedded OS for TVs, VCRs, ..., but then, there is real-time support in Linux now...). *i. Explain the notion of transaction, of commit/abort, of recovery. Present at least two different semantics of such transactions (hint: recall Quicksilver). 2) Design question. 50 mins. You are designing `distributed multimedia actions'. The idea is the following. For simplicity in this test, assuming all in-memory media objects (e.g., audio samples, video frames, etc.), you wish to be able to do the following: - compose sets of those objects for 'playout' as a unit (e.g., a song fragment), - synchronize the playout of multiple such units (e.g., play a certain sound fragment when a certain video frame is shown), - transmit synchronized sets of units across machines, where the target machine can start 'playout' before it has received all of them and where for each 'playout' server there can be multiple clients, and - most importantly, permit clients to act like servers themselves, where a set of units may be edited by a client, then forwarded to a second client, where they are finally played out or edited again, or .... Proceed as follows. 1. Define software abstractions for your media objects and their composition (sets of them) and the synchronized playout of multiple sets. 2. Define a media unit transmission protocol based on active messages, where the idea is that the arrival of a media unit at a machine can trigger an activity that performs some useful processing. 3. Describe how synchronized playout across machines may be achieved with your active media transmission protocol. **4. Define desirable failure semantics when sets of media objects are read and written by multiple clients. Be precise here, commenting explicitly on what you desire concerning atomicity, consistency, independence, and durability (or permanence) -- the ACID properties. Here are some things to consider: (a) assume you need to protect yourself from single machine failures, (b) when do you commit or abort your 'playout sets being edited'...maybe you want to construct an example of it, then work with the example, (c) what are suitable recovery actions, (d) do you care what happens across multiple 'playout sets', etc. *5. Define an enhancement to your active media tranmission protocol that implements those semantics. 6. Discuss the viability of your solution with respect to modern computer architectures. PAGE  PAGE 1 JRS  mntuvxy0JmH0J j0JU>*5>*5"#@ARS`a'()*+,-./01234h"#@ARS`a'()*+,-./01234{|}~3456789:;<=>?@          : ; < = > ? @ A B C D E d{|}~3456789:h:;<=>?@          h : ; < = > ? @ A B C D E B h B abvw<=klmx%abvw<=klmvwx1$1$ $&1$#$*@h#0P/ =!"#$%|HHHV,(hh hd'0F es/coc_big_blue_256.jpg.$:**:2: http://www.cc.gatech.edu/newhome_images/coc_big_blue_256.jpg.$:**:2: http://www.cc.gatech.edu/newhome_images/coc_big_blue_25**:2: http://www.cc.gatech.edu/newhome_images/coc_big_blue_256.jpg.**:2: http://www.cc.ga**:2: http://www.cc.gatech.edu/newhome_imag [4@4NormalCJOJQJkH'mH <A@<Default Paragraph Font,@,Header  !&)@& Page Number(%(!    e  :    !!College of Computing.Karsten's HD:Temporary Items:Word Work File A College of Computing5Karsten's HD:PowerKarsten:kTeaching:6420:final95.6420College of Computing5Karsten's HD:PowerKarsten:kTeaching:6420:final98.6420College of Computing5Karsten's HD:PowerKarsten:kTeaching:6420:final98.6420Karsten Schwan7Karsten's HD:PowerKarsten:kTeaching:6420:final99-1.6420Karsten Schwan7Karsten's HD:PowerKarsten:kTeaching:6420:final99-2.6420Karsten Schwan7Karsten's HD:PowerKarsten:kTeaching:6420:final99-2.6420College of Computing7Karsten's HD:G3Karsten:kTeaching:6420:final00-6210.word@Hg5j@@GTimes New Roman5Symbol3 Arial9New York"!L&!L&3fY (!+0dr#!CS 6420 - Final - March 1998 College of ComputingCollege of Computingages/interface/scatlogb.gif::http://books.nap.edu/images/interface/ob2info.gif::http://www.nap.edu/images/interface/sbookb.gif::http://www.nap.edu/images/interface/chapsel.gif::http://www.nap.edu/images/interface/blkdot.gif}:C:http://www.cc.gatech.edu/~lingliu/pictures/line.color.gifnA4 N^NuOTCfigGetProviderNameNV . fp`p n@X!n ,N^NuOTCfigSetPortRefNV n(XN^NuOTCfigIsPortNV np0". bp` h 0N^NuOTCfigGetChildNV/. nHh4N0N^NuOTCfigChangeProviderNameNV/.NN^Nu%PrivateClone__19OTConfigurationInfoDvNVH8$npf NpZ/NXO(@Jg / N XOJfpNp$/$nHj4Hl4N0zO )j,,jXXJgPO&@JgPOJg(<`n)K89kE kfp// Hl N0zO `)kA 'H7|6 k v`%L0RCH// N>PO$@Jf .g n Jg JgJg/ NFXO/ NJXOB .LN^NuOTCfigPushNewSingleChildNVH&n&. // N>PO(@JgB< "R`' Rp0bSS LN^NuOTCfigRemoveChildNVH8(. //.N>PO-@f POJg(<`xJgTr"KXI` j pg R$Qp0b kp0bJg/ NFXO/ NJXOp`^ k h!8 l kYYB+Y)k'L .g n Jg JgJg/ NFXO/ NJXOB .LN^NuOTCfigPushParentNVH8(npZ/NXO$@Jg / N XO/. / N>PO&@z-JJf* _PID_GUID'AN{24E64C01-D725-11D2-8353-D666D241DC72}v op7Ђ`p0Ђ"R|op7І`p0І"RB4HRIYRmh .lf e\ R"B4HS`p$nhВ-@ JA e.vo R0 RxB4HU.`Z d -|l`Xtv op7Ђ`p0Ђ"R|op7І`p0І"RB4HRHURl `-|l .lfn.tg4HntN0XO& Rc -|l`HHntHtHN0PO؃v-Dpp nh"VѮh$nhE&nb nh"Pȳcp .pB4 n h .lLN^Nu0CreateString__15TOTOptionParserDPP7TOptionPvPcUiNVH8 n (PB/. n P h$NXOJf `4 c-|n`" c-|=n`-|A-H`"nRI n|`RIRgfJgp$np0*b`6* g p0eP-n(IRL`J.fJfJf:Jjg2`&|B.`JjUL`| d n6( gp0d -|`.$RA(v0mp9n ~Iނ`2pampfn ~Iނ`pAmpFn ~Iނ`~mp9n pIЃ`2pampfn pIЃ`pAmpFn pIЃ`p-@vkj.g6kk,` np0(b A-H`-| .f .xr҆ȁep" .V€g -|`&nٮpІ&B $n'j'jJg//.HkN0zO `RL=Ap g p gp`pJfp,fRL`pampzopAmpZop`pJf .f n A"n""" .LN^Nu-CreateOptions__15TOTOptionParserDPPcP7TNetbufNV/ $nJg/ NXOp g / NJXO $_N^Nu__sd__15TOTOptionParserDUiNV/ $nQJB*UO/N0TO$_N^NuOTTimerProcNVH Bp /NXO$@JgN yL/(/./. N0O $g.B*Bj v%C%CA/%HA-%H JPHXxJfJgYO/N0XO/ NJXO -@LN^NtOTCREATETIMERTASKNV/ /&.Jg" CJ(g$HPJ JY CB( JXp@ `B@ &$_N^NtOTCANCELTIMERTASKNV/&.Jg" CPHY CB(YO/N0XO/NJXO&N^NtOTDESTROYTIMERTASKNV/ /&. JfB@`,$CJ*g PJ JY JX` C| CPH .Zp@&$_N^NtOTSCHEDULETIMERTASK/ "iNXNuNuNtNV/ $nJg/ N/XOp g/ N3$ $_N^Nu__sd__16TOTAlignedObjectDUiA: g @NN1tAH g @NN1tAV g @NN1tAd g @NN1tAr g @NN1tA g @NN1tA g @NN1tA g @NN1tA g @NN1tA g @NN1tA g @NN1tA g @NN1tA" g @NN1t0?@AECGHIJKLNOPQRSTUVWXYZ[\]^_`aFDocumentSummaryInformation8CompObjXObjectPoolz]z]0Table5 [4@4NormalCJOJQJkH'mH <A@<Default Paragraph Font,@,Header  !&)@& Page Numberi(%(!    B"& in!"?@QR_`YZ[\]^_`abcdef;<=>?@ABDEFGHIJKLMNOPQRS !"    ! " # $ % & ' $ p CDXYMNej(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$(#$ (#$(#$(#$(#$(#$(#$(#$(#$!Yf;<=>?@BDLMNPQRS NOZej \4 : ,\4   !!College of Computing.Karsten's HD:Temporary Items:Word Work File A College of Computing5Karsten's HD:PowerKarsten:kTeaching:6420:final95.6420College of Computing5Karsten's HD:PowerKarsten:kTeaching:6420:final98.6420College of Computing5Karsten's HD:PowerKarsten:kTeaching:6420:final98.6420Karsten Schwan7Karsten's HD:PowerKarsten:kTeaching:6420:final99-1.6420Karsten Schwan7Karsten's HD:PowerKarsten:kTeaching:6420:final99-2.6420Karsten Schwan7Karsten's HD:PowerKarsten:kTeaching:6420:final99-2.6420College of Computing7Karsten's HD:G3Karsten:kTeaching:6420:final00-6210.wordCollege of Computing7Karsten's HD:G3Karsten:kTeaching:6420:final00-6210.word@MMp}MLhuvXi+9;<=>?FZCLMPQSVNOVNObcghi1@1(08@1(1p)1r)1)1)1N*0L @16+16,1,0,0,0 @0 @0,0 @1,1-1-1.1/100@000@000 @1@101b11d11r11t111111h21212121h31@41R41V40d@0f@0 )@0(@1X40)@0 )@0 )@GTimes New Roman5Symbol3 Arial9New York"!L&"L&3f Y (!+0drL#!CS 6420 - Final - March 1998 College of ComputingCollege of Computingpng .0g@@8.wp@zK]@8 :]YJg (f -@`$p"VGb &P(Iķcp-@L8N^NtOTFINDOPTIONA g @NN(A g @NN(0*5>*5"#@ARS`a'()*+,-./01234h"#@ARS`a'()*+,-./01234{|}~3456789:;<=>?@          : ; < = > ? @ A B C D E d{|}~3456789:h:;<=>?@          h : ; < = > ? @ A B C D E B h B abvw<=klmx%abvw<=klmvwx,1$1$ $&1$#$*@h#0P/ =!"#$%|HHHV,(hh hd'0F Dec. 2000Runtime extension of the operating system is typically performed in order to customize the OS to current application needs. Provide two specific examples of such cus