SlideShare a Scribd company logo
!"#$%&'($)*+**
  ,$(&'($)*-#./+$(01*
    &23*4/#*!156#1#$4+%2$*2&**
72$.833#$.'*9:043+.%2$0*
 2$*-86%;<+$)8+)#*=-0*



        >4#&+$*-+33?*@/#2*ABC2$"4*
         >2DE+3#*<+$)8+)#0*<+:*
      @FF<>*G8325#?*HI4/*2&*-+'*JIKJ*
9)#$"+*
            •  9556(.+%2$0*($*4/#*186%.23#*+)#*

            •  9*>83L#'M*E/+4*0/286"*E#*0855234N*

            •  9*,$(&'($)*9:043+.%2$*

            •  GL+68+%2$*

!"#"$#%&'                                     &'
7O,0*"2$B4*)#4*P+04#3*
    Q84*-86%56'*                                                =-0*42"+'*
UCV*
                              !23'
R*
                                      !2!!'

H*       %'516,'                     4'516,.'          O#3&231+$.#*     -#123'*-+$+)#1#$4*


J*
                       %2$'
                                                                  7!"

K*
             "2&'
                                                      -86%;<+$)8+)#*
                                                                        O6+W231*!$"#5#$"#$4*
                                                       G.2*>'04#1*
I*
 KSSI*       KSST*   JIII*    JIIT*    JIKI*
 !"#"$#%&'                            ()*'+,-.')/*'011*'+,-.'                    !'
C2E*42*(156#1#$4*+*-+(6*.6(#$4N*




                                      +0'$./32$280*
             ,0#3*!$4#3&+.#*
                                      #L#$4;"3(L#$*
9*,):';1*,:<'#L#$4;62250*23*+.4230*
!"#"$#%&'                                   8'
C2E*42*(156#1#$4*+*-+(6*.6(#$4N*

                        !"#$%&'&(")'$*+,-.*$/01,2340*56073809,
                        ,
                        :;#$/0,40&-$53,1<=<=<>-.*$/0?,<-@A0B',
                        ,
                        CD2EF2,FEG#2,'88&0--0-,HDIJ7K,$3/L,
                        '88&0--L,@5BB03/MN,
                        ,
                        CD2EF2,FEG#2,B0--'O0-,HDIJ7K,$3/L,
                        B0--'O0P$8L,85@QB03/P$8L,$3P&06*(P/5L,&0B5/0P$8,$3/L,-0380&,$3/RMN,



        A+4+*>423+)#*           .2$0(04#$.'*3#X8(3#"*
                               43+$0+.%2$+6*:+.Y#$"0*

9*,):';1*,:<'43+$0+.%2$+6*6+$)8+)#*12"#6*
!"#"$#%&'                                                                  $'
C2E*42*(156#1#$4*+*-+(6*.6(#$4N*




A+4+*9$+6'0(0*+$"*O32.#00($)*     5#3&231+$.#*0#$0(%L#*

9*,):';1*,:<'"+4+;5+3+66#6*X8#3(#0?*1+5Z3#"8.#?*&23YZ[2($*
 !"#"$#%&'                                         4'
72$.833#$.'*>855234*($*
                  -86%;<+$)8+)#*=-0*@2"+'N*
                      ECMA-335
                      4th Edition / June 2006




            Common Language
            Infrastructure (CLI)
            Partitions I to VI




            @/3#+"0*                            <2.Y0*   >./#"86($)*


      @/#*:+0(.0*2$6'M*C+3"*42*:8(6"*2$*425*
!"#"$#%&'                                                      ='
]/+4*"2*E#*$##"*&23*+*-86%;<+$)8+)#*=(348+6*-+./($#N*

   >?@ABC'

!"#"$#%&'                                                  3'
!"#"$#%&'   D'
>83L#'*>8:[#.40M*@2*("#$%&'*72$.#540*
     •  J*083L#'0M*Q3(24*#4*+6^_H`?*>Y(66(.23$*a*@+6(+*_HI`*
     •  <+$)8+)#0*b($"8043'*c*3#0#+3./d*
     •  O+5#30?*&23*2:L(280*)+50*
9.%L#*F:[#.40*_Ke`*   7/+31cc**               P2343#00***         F..+1;5(***          >(156#*f+L+***
9"+*                  7(6Y***                 U2***               F5#$7<*              >Y(66(.23$a@+6(+*_HI`*
9("+*_JI`***          762[83#***              !2***               F5#$-O***            >6'***
96(.#***              72Q2g#0*_Je`***         f7>O***             F36#+$0*_T`***       >43#+1!@***
91:(#$4@+6Y***        72$.833#$4*C+0Y#66***   f+L+*=(#E0*_e`***   FV***                >E($)***
94#[(*Oh***           72$.833#$4*-<***        f2($*f+L+***        O9-*_Ji`***          ,O7***
9g81***               72$.833#$4*F:[#.40*     <($"+*_KK`***       j#+.%L#*F:[#.40*_JT`*hKI*
Q3(24*#4*+6^*_H`***   72$.833#$4*O+0.+6***    -O!***              >7FFO*_JR`*          h7***
7k***                 G36+$)***               -+5j#"8.#*_JK`*     >@-*_JS`*            **
7/+5#6***             P2343+$*JIIe***         -86%<(05*_KH`***    >(156#*7Z7cc***      **

     !"#"$#%&'                                                                                %%'
>83L#'*l8#0%2$0*
N9( *7+$*(4*:#*(156#1#$4#"*+0*+*6(:3+3'N*
>B; *A2#0*(4*3#X8(3#*38$%1#*0855234*42*
     )8+3+$4##*(40*0#1+$%.0N*
OB@7 *]286"*38$%1#*0855234*#$+:6#*0()$(m.+$4*
      5#3&231+$.#*(1532L#1#$40N*
OP *!0*(4*0855234#"*:'*021#*=-*+63#+"'N*


!"#"$#%&'                                   %&'
>83L#'*j#08640*
•  eJ*.2$.#540*("#$%m#"?*nI*.2$0("#3#"*"(0%$.4*
   O6L16'P6H'               OP'   N9('   >B;'   OB@7'    NLF6)6W'>1:ER1/.'      OP'     N9('   >B;'     OB@7'
  PH1QL5'O6LQLRS,.'          h*    ;*     ;*     h*     PK,/H.'                  ;*      '     ;*       ;*
  J1T61ER/,.'                h*    ;*     ;*     h*     PO0P>'                   ;*      '     ;*       ;*
  J1/*LR1/'A)6L)F:,.'        h*    h*     ;*     h*     PH1Q.'                   ;*      '     ;*       ;*
  J6LR5):'>,5R1/.'           h*    h*     ;*     h*     J1/5E66,/H'[FG,5H.'      ;*      '     ;*       ;*
  0:1F):'P**6,..'>I)5,.'     h*    h*     ;*     h*     BS,/HTN11I'              ;*      '     ;*       ;*
  06,,/'UV6,)*.'             h*    ;*     ;*     ;*
                                                        BS,/H.'                  ;*      '     ;*       ;*
  9QQEH)FL:LHW'              h*    ;*     h*     h*
                                                        7)6T@,],6,/5,.'          ;*      '     ;*       ;*
  X1L/'                      h*    ;*     ;*     ;*
  N15Y.'                     h*    h*     ;*     h*     716Y#X1L/'               ;*      '     ;*       ;*
  ;,Q16W';1*,:'              h*    ;*     h*     h*     7EHE6,.'                 ;*      '     ;*       ;*
  ;,HV1*'9/S15)R1/'          h*    ;*     ;*     h*     0E)6*.'                  ;*      '     ;*       ;*
  @)5,TP/*T@,I)L6'           h*    h*     ;*     ;*     ;,..)K,'^E,E,'           ;*      '     ;*       ;*
  UV6,)*'O11:.'              h*    h*     ;*     ;*     [/,T.L*,*'J1QQE/L5)R1/' ;*       '     ;*       ;*
  UV6,)*T:15):'A)6L)F:,.'    h*    h*     ;*     h*     O)6)::,:'(E:Y'[I,6)R1/.'   ;*   '      ;*          ;*
  UV6,)*.'                   h*    h*     ;*     ;*
  A1:)R:,.'                  h*    ;*     h*     ;*     O0P>'                      ;*   '      ;*          ;*
  Z6)II,6'[FG,5H.'           h*    h*     ;*     h*     @,*E5,6.'                  ;*   '      ;*          ;*
                                                        >L/K:,'(:15Y.'             ;*   '      ;*          ;*
                                                        >H)H,'@,51/5L:L)R1/'       ;*   '      ;*          ;*



!"#"$#%&'                                                                                             %!'
>83L#'*j#08640*
@,_EL6,'A;'>EII16H'       OP' N9(' >B;' OB@7'   @,_EL6,'A;'>EII16H'           OP' N9(' >B;' OB@7'
P5RS,'[FG,5H.'            ;*   h*   h*    ;*    ;)I#@,*E5,'                   ;*   h*         h*   ;*
P5H16.'                   ;*   h*   h*    h*    ;,..)K,'.,/*.'                ;*   h*         h*   h*
P.W/5V61/1E.'9/S15)R1/'   ;*   h*   h*    h*    ;L6616.'                      ;*   h*         ;*   h*
P`EQTa1Q)L/.'             ;*   h*   h*    ;*    +1T9/H,65,..L1/'              ;*   h*         h*   h*
()66L,6.'                 ;*   h*   ;*    h*    [-/,6.VLI'                    ;*   ;*         ;*   h*
(WTA):E,'                 ;*   h*   h*    h*    O,6.L.H,/H'a)H)'>H6E5HE6,.'   ;*   h*         h*   ;*
JV)//,:.'                 ;*   h*   h*    h*    @,I:L5)R1/'                   ;*   h*         h*   ;*
J:15Y.'                   ;*   h*   ;*    h*    >L*,TBb,5H'76,,'              ;*   ;*         h*   h*
a)H)';1S,Q,/H'            ;*   ;*   ;*    h*    >I,5E:)RS,'B`,5ER1/'          ;*   ;*         h*   h*
a)H)'>H6,)Q.'             ;*   h*   h*    h*    U6)/.)5R1/.'                  ;*   h*         h*   h*
9QI:L5LH'O)6)::,:L.Q'     ;*   h*   ;*    h*    UEI:,'>I)5,.'                 ;*   h*         h*   ;*
9.1:)R1/'                 ;*   h*   h*    h*    A)H.'                         ;*   h*         h*   h*
N15):LHW'                 ;*   ;*   ;*    h*    A,5H16'[I,6)R1/.'             ;*   h*         ;*   h*


     !"#"$#%&'                                                                          %8'
>83L#'*72$.680(2$*
            •  O+3+66#6*.2$.#540*+0*6(:3+3(#0*
              – b23*&23*L#3'*05#.(m.*25%1(V+%2$0d*
            •  72$.833#$.'*.2$.#540*3#X8(3#*=-*
               0855234*
              – P23*5#3&231+$.#*
              – G$&23.#*#$.+5086+%2$?*(1184+:(6(4'*
              – G$&23.#*+0'$.^*#g#.8%2$?*o*
!"#"$#%&'                                        %$'
A#"8.#"*j#X8(3#1#$40*&23*=-0*




    -+$+)#"*   -+$+)#"*    p2%2$*2&*    72$43266+:6#*
    -84+%2$*   Gg#.8%2$*   FE$#30/(5*   G$&23.#1#$4*


!"#"$#%&'                                    %4'
G$&23.($)*>#1+$%.0*E(4/*+*-#4+;2:[#.4*O3242.26*

   J[+J?@@B+JC'a[;P9+>'

!"#"$#%&'                                            %='
72$.833#$.'*A21+($0M*
FE$#30/(5;:+0#"*-#4+2:[#.4*O3242.26*

                 0..*       1             Domain
                                readField(obj, idx)
        Object
                                writeField(obj, idx, val)
                 owned by
                                reqExec(obj, method, args)
                                newThread(closure)
                                readGlobal(glob)
                    0..*    1
     Thread                     writeGlobal(glob, val)
 enforced : bool                primitiveCopy(obj)
                runs in         primitive*(...)


!"#"$#%&'                                            %3'
A21+($*#$&23.($)*!1184+:(6(4'*
                   Main                Cell with #foo                     Immutable Domain

                          cell = new Cell()

                          cell.set(#foo)
                          domain.adopt(cell)

                                           enforced()
        enforced          cell.set(#bar)      →       reqExec(cell, set, #bar)

                                                         cell.set(#bar)


                                                      writeToField(cell, 1, #bar)



                                                  ImmutabilityError(cell, 1, #bar)




!"#"$#%&'                                                                               %D'
A21+($*A#m$(%2$*
@*'--,7BBK5B'$3,09/038-,K5B'$3,_,
,
,,45$8,!"#$%&'(#%)*H5%`L,$89L,4'*M,_,
,,,,/A&5U,30U,7BBQ/'%$*$/(2&&5&H5%`L$89L4'*MN,
,,a,
,
,,45$8,+"#,-.$/0$15%`L,$89L,4'*M,_,
,,,,/A&5U,30U,7BBQ/'%$*$/(2&&5&H5%`L$89L4'*MN,
,,a,
,,"",R,'**,BQ/'/$3O,560&'/$53-,b,6&$B$/$40-,
a,

!"#"$#%&'                                &%'
9$"?*"2#0*(4*0.+6#N*

   BAPN?PU9[+'


!"#"$#%&'                 &&'
Gg53#00(L#$#00M*762[83#B0*9)#$40*
            J:)..'                        c;,HV1*.' N[J'
            PK,/H'd)*TV15ef'                     e* HK*
            qE(4/284*#$&23.#1#$4*2&*0#1+$%.0*


            J:)..'           c;,HV1*.' N[J'
            PK,/H'                  e* RK*
            PK,/Ha1Q)L/'            R* HR*
            9QQEH)F:,a1Q)L/'        n* Ki*
                                   %3' D&'

!"#"$#%&'                                                  &!'
Gg53#00(L#$#00*($*<F7*
                                    P*TV15'    [-/,6.VLIT
                                               F).,*';[O'
PK,/H.'                                HKq*            iH*
>U;'                                   een**          Kni*
PQFL,/HU):Y>U'                         KnH*           KKT*
P5RS,[FG,5H.'                            ;*            iH*
J>Ogπ'                                   ;*            HS*
-FO*:+0#*0'04#1*                                     KIne*
qE(4/284*#$&23.#1#$4*2&*0#1+$%.0*

!"#"$#%&'                                           &8'
Speed Ratio: Ad−hoc/MOP−based

                                                    0.0   0.2   0.4   0.6   0.8   1.0   1.2


                                Binary Trees (AT)

                             FannkuchRedux (AT)




!"#"$#%&'
                                       Fasta (AT)

                                     NBody (AT)

                                Binary Trees (LR)

                             FannkuchRedux (LR)
                                                                                              Kernel Benchmarks




                                      Fasta (LR)

                                     NBody (LR)




                                                     Speed Ratio: Ad−hoc/MOP−based

                                                    0.0   0.2   0.4   0.6   0.8   1.0   1.2




                               Array Access (AT)


                               Instance Var. (AT)


                                Local Sends (AT)
                                                                                                                                                      O#3&231+$.#*




                              Remote Sends (AT)
            91:(#$4@+6Y>@*

                              Remote Sends (AT)
                               with 10 arguments
                                                                                              Microbenchmarks




                               Array Access (LR)


                               Instance Var. (LR)


                                     Sends (LR)
&$'
            >@-*
                                                                                                                  !156#1#$4+%2$M*Q'4#.2"#*@3+$0&231+%2$*




                                      Sends (LR)
                               with 10 arguments
J[+JN?>9[+>'


!"#"$#%&'         &4'
!"#$%m#"*j#X8(3#1#$40*
               &23*,$(&'($)*9:043+.%2$*

                                -+$+)#"*-84+%2$*

                                -+$+)#"*Gg#.8%2$*

                                p2%2$*2&*FE$#30/(5**

j#X8(3#1#$40*:+0#"*2$*083L#'*   7436^*G$&23.#1#$4*

!"#"$#%&'                                      &='
FE$#30/(5;:+0#"*-FO*+0*
         72$.833#$.'*9:043+.%2$*&23*=-0*

                                                          9)#$40*
              0..*       1             Domain
                             readField(obj, idx)
                                                          91:(#$4@+6Y>@*
    Object
                             writeField(obj, idx, val)
             owned by
                             reqExec(obj, method, args)
                             newThread(closure)
                             readGlobal(glob)
    Thread
enforced : bool
                 0..*    1   writeGlobal(glob, val)
                             primitiveCopy(obj)
                                                          9.%L#F:[#.40*
               runs in       primitive*(...)


                                                          7>Ocπ*
               FE$#30/(5;:+0#"*-FO*
               +0*.2112$*&28$"+%2$*                       >@-*
!"#"$#%&'                                                           &3'
P8483#*]23Y*
•  =-*>855234*
     –  U2+6M*:#*5#3&231+$.#*$#843+6*
     –  Q+0#"*2$*7O,B0*-#123'*-+$+)#1#$4*,$(4*
     –  >E##4*0524M*7>O?*9.4230?*9.%L#*F:[#.40?o*


•  !$4#3+.%$)*72$.833#$.'*-2"#60*
     –  9.4230*c*>@-?o*
     –  >#1+$%.0*

!"#"$#%&'                                           &D'
l*a*9'

More Related Content

PDF
Saudi Students Guide to Atlanta
PDF
Ky thuat nghiep_vu_ngoai_thuong_by suu tam ngon hai dang.
PDF
Vampiro -a_mascara_-_compendi
PDF
CompTIA IT - Skills Gaps Study International
PDF
Sada bainama regularisation book
PDF
31stchapter
PDF
بوكلت الدراسات الإجتماعية للصف الرابع الابتدائى للترم الثانى
PDF
Trade diplomacy For Export of goods and services
Saudi Students Guide to Atlanta
Ky thuat nghiep_vu_ngoai_thuong_by suu tam ngon hai dang.
Vampiro -a_mascara_-_compendi
CompTIA IT - Skills Gaps Study International
Sada bainama regularisation book
31stchapter
بوكلت الدراسات الإجتماعية للصف الرابع الابتدائى للترم الثانى
Trade diplomacy For Export of goods and services

What's hot (16)

PDF
NRI Report
PDF
Edital do concurso da prefeitura de forquilha ce
PDF
ពុទ្ធកិច្ច ៤៥ ព្រះវស្សា
PDF
Vật liệu cơ khí phạm đình tân, 137 trang
PDF
علم الحاسوب للصف الخامس الاعدادي
PDF
Isis Cybera Summit 2009
PDF
2010 NEW YORK URBAN LATINO FILM FESTIVAL 2010
PDF
Blenderbookv01
PDF
Story bird resources_part_3
PDF
Ne qayyim religion
PDF
Etransformation de l'éducation avant le bac
PDF
Formagrupo - Consultoría y Formación Turística y Hotelera
PDF
Geothermal energy وزەی زەوی وزەی ناخی زەوی گەرمی ناخی زەوی گه‌رمى ناخى...
PDF
Annayya 01
PDF
Doa dan-dzikir-pilihan
PDF
موقع ملزمتي - قصة عبد الرحمن بن عوف خامسة إبتدائي الترم الثاني
NRI Report
Edital do concurso da prefeitura de forquilha ce
ពុទ្ធកិច្ច ៤៥ ព្រះវស្សា
Vật liệu cơ khí phạm đình tân, 137 trang
علم الحاسوب للصف الخامس الاعدادي
Isis Cybera Summit 2009
2010 NEW YORK URBAN LATINO FILM FESTIVAL 2010
Blenderbookv01
Story bird resources_part_3
Ne qayyim religion
Etransformation de l'éducation avant le bac
Formagrupo - Consultoría y Formación Turística y Hotelera
Geothermal energy وزەی زەوی وزەی ناخی زەوی گەرمی ناخی زەوی گه‌رمى ناخى...
Annayya 01
Doa dan-dzikir-pilihan
موقع ملزمتي - قصة عبد الرحمن بن عوف خامسة إبتدائي الترم الثاني
Ad

Similar to Identifying A Unifying Mechanism for the Implementation of Concurrency Abstractions on Multi-Language Virtual Machines (20)

PDF
referente
PDF
Buku panduan pengelolaan-e-journal
PDF
Accessing and Using Food Data to Support Collaborative Policy Decisions - Pow...
PDF
8 Steps to Maximize Your Financial Aid Package
PDF
iMotions White Paper: Statistical Comparison of Emotional Activation in Atten...
PDF
Technorati Blogging Stats Preview
PDF
Margie Dana's New Rules for Print Buying
PDF
Carlos Santos - be IN Minho
PDF
Creative Visions Foundation Overview
PDF
Os Urnerupdated
PDF
Web Analytics What S Really Important 3
PDF
Lesson 7 world_history_medieval_period_new_
PDF
TrueCar Monthly Data Report September 2009
PDF
Porto de mos conferencias fora de portas
PDF
Présentation Quadrans
KEY
Young Lions Media 2011 / SPYL509
PDF
Cameroun - Repertoire des projets prioritaires à besoins de financement
PDF
Xarxes socials
PDF
Facebook de Jesucristo
PDF
Facebook de Jesucristo
referente
Buku panduan pengelolaan-e-journal
Accessing and Using Food Data to Support Collaborative Policy Decisions - Pow...
8 Steps to Maximize Your Financial Aid Package
iMotions White Paper: Statistical Comparison of Emotional Activation in Atten...
Technorati Blogging Stats Preview
Margie Dana's New Rules for Print Buying
Carlos Santos - be IN Minho
Creative Visions Foundation Overview
Os Urnerupdated
Web Analytics What S Really Important 3
Lesson 7 world_history_medieval_period_new_
TrueCar Monthly Data Report September 2009
Porto de mos conferencias fora de portas
Présentation Quadrans
Young Lions Media 2011 / SPYL509
Cameroun - Repertoire des projets prioritaires à besoins de financement
Xarxes socials
Facebook de Jesucristo
Facebook de Jesucristo
Ad

More from Stefan Marr (20)

PPTX
Metaprogramming, Metaobject Protocols, Gradual Type Checks: Optimizing the "U...
PPTX
Seminar on Parallel and Concurrent Programming
PPTX
Optimizing Communicating Event-Loop Languages with Truffle
PPTX
Tracing versus Partial Evaluation: Which Meta-Compilation Approach is Better ...
PPTX
Why Is Concurrent Programming Hard? And What Can We Do about It?
PPTX
Zero-Overhead Metaprogramming: Reflection and Metaobject Protocols Fast and w...
PPTX
Building High-Performance Language Implementations With Low Effort
PPTX
Cloud PARTE: Elastic Complex Event Processing based on Mobile Actors
PPTX
Supporting Concurrency Abstractions in High-level Language Virtual Machines
PDF
Sly and the RoarVM: Parallel Programming with Smalltalk
PDF
Which Problems Does a Multi-Language Virtual Machine Need to Solve in the Mul...
PDF
Sly and the RoarVM: Exploring the Manycore Future of Programming
PDF
PHP.next: Traits
PDF
The Price of the Free Lunch: Programming in the Multicore Era
PDF
Locality and Encapsulation: A Foundation for Concurrency Support in Multi-Lan...
PPTX
Insertion Tree Phasers: Efficient and Scalable Barrier Synchronization for Fi...
PPTX
Encapsulation and Locality: A Foundation for Concurrency Support in Multi-Lan...
PPTX
Intermediate Language Design of High-level Language VMs: Towards Comprehensiv...
PPTX
Virtual Machine Support for Many-Core Architectures: Decoupling Abstract from...
PDF
VMADL: An Architecture Definition Language for Variability and Composition ...
Metaprogramming, Metaobject Protocols, Gradual Type Checks: Optimizing the "U...
Seminar on Parallel and Concurrent Programming
Optimizing Communicating Event-Loop Languages with Truffle
Tracing versus Partial Evaluation: Which Meta-Compilation Approach is Better ...
Why Is Concurrent Programming Hard? And What Can We Do about It?
Zero-Overhead Metaprogramming: Reflection and Metaobject Protocols Fast and w...
Building High-Performance Language Implementations With Low Effort
Cloud PARTE: Elastic Complex Event Processing based on Mobile Actors
Supporting Concurrency Abstractions in High-level Language Virtual Machines
Sly and the RoarVM: Parallel Programming with Smalltalk
Which Problems Does a Multi-Language Virtual Machine Need to Solve in the Mul...
Sly and the RoarVM: Exploring the Manycore Future of Programming
PHP.next: Traits
The Price of the Free Lunch: Programming in the Multicore Era
Locality and Encapsulation: A Foundation for Concurrency Support in Multi-Lan...
Insertion Tree Phasers: Efficient and Scalable Barrier Synchronization for Fi...
Encapsulation and Locality: A Foundation for Concurrency Support in Multi-Lan...
Intermediate Language Design of High-level Language VMs: Towards Comprehensiv...
Virtual Machine Support for Many-Core Architectures: Decoupling Abstract from...
VMADL: An Architecture Definition Language for Variability and Composition ...

Recently uploaded (20)

PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Cloud computing and distributed systems.
PPTX
Big Data Technologies - Introduction.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
KodekX | Application Modernization Development
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
cuic standard and advanced reporting.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Approach and Philosophy of On baking technology
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Encapsulation theory and applications.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Network Security Unit 5.pdf for BCA BBA.
Cloud computing and distributed systems.
Big Data Technologies - Introduction.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
KodekX | Application Modernization Development
Mobile App Security Testing_ A Comprehensive Guide.pdf
Unlocking AI with Model Context Protocol (MCP)
The AUB Centre for AI in Media Proposal.docx
The Rise and Fall of 3GPP – Time for a Sabbatical?
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
cuic standard and advanced reporting.pdf
Spectral efficient network and resource selection model in 5G networks
NewMind AI Monthly Chronicles - July 2025
Diabetes mellitus diagnosis method based random forest with bat algorithm
Approach and Philosophy of On baking technology
Review of recent advances in non-invasive hemoglobin estimation
Digital-Transformation-Roadmap-for-Companies.pptx
Encapsulation theory and applications.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...

Identifying A Unifying Mechanism for the Implementation of Concurrency Abstractions on Multi-Language Virtual Machines

  • 1. !"#$%&'($)*+** ,$(&'($)*-#./+$(01* &23*4/#*!156#1#$4+%2$*2&** 72$.833#$.'*9:043+.%2$0* 2$*-86%;<+$)8+)#*=-0* >4#&+$*-+33?*@/#2*ABC2$"4* >2DE+3#*<+$)8+)#0*<+:* @FF<>*G8325#?*HI4/*2&*-+'*JIKJ*
  • 2. 9)#$"+* •  9556(.+%2$0*($*4/#*186%.23#*+)#* •  9*>83L#'M*E/+4*0/286"*E#*0855234N* •  9*,$(&'($)*9:043+.%2$* •  GL+68+%2$* !"#"$#%&' &'
  • 3. 7O,0*"2$B4*)#4*P+04#3* Q84*-86%56'* =-0*42"+'* UCV* !23' R* !2!!' H* %'516,' 4'516,.' O#3&231+$.#* -#123'*-+$+)#1#$4* J* %2$' 7!" K* "2&' -86%;<+$)8+)#* O6+W231*!$"#5#$"#$4* G.2*>'04#1* I* KSSI* KSST* JIII* JIIT* JIKI* !"#"$#%&' ()*'+,-.')/*'011*'+,-.' !'
  • 4. C2E*42*(156#1#$4*+*-+(6*.6(#$4N* +0'$./32$280* ,0#3*!$4#3&+.#* #L#$4;"3(L#$* 9*,):';1*,:<'#L#$4;62250*23*+.4230* !"#"$#%&' 8'
  • 5. C2E*42*(156#1#$4*+*-+(6*.6(#$4N* !"#$%&'&(")'$*+,-.*$/01,2340*56073809, , :;#$/0,40&-$53,1<=<=<>-.*$/0?,<-@A0B', , CD2EF2,FEG#2,'88&0--0-,HDIJ7K,$3/L, '88&0--L,@5BB03/MN, , CD2EF2,FEG#2,B0--'O0-,HDIJ7K,$3/L, B0--'O0P$8L,85@QB03/P$8L,$3P&06*(P/5L,&0B5/0P$8,$3/L,-0380&,$3/RMN, A+4+*>423+)#* .2$0(04#$.'*3#X8(3#"* 43+$0+.%2$+6*:+.Y#$"0* 9*,):';1*,:<'43+$0+.%2$+6*6+$)8+)#*12"#6* !"#"$#%&' $'
  • 6. C2E*42*(156#1#$4*+*-+(6*.6(#$4N* A+4+*9$+6'0(0*+$"*O32.#00($)* 5#3&231+$.#*0#$0(%L#* 9*,):';1*,:<'"+4+;5+3+66#6*X8#3(#0?*1+5Z3#"8.#?*&23YZ[2($* !"#"$#%&' 4'
  • 7. 72$.833#$.'*>855234*($* -86%;<+$)8+)#*=-0*@2"+'N* ECMA-335 4th Edition / June 2006 Common Language Infrastructure (CLI) Partitions I to VI @/3#+"0* <2.Y0* >./#"86($)* @/#*:+0(.0*2$6'M*C+3"*42*:8(6"*2$*425* !"#"$#%&' ='
  • 10. >83L#'*>8:[#.40M*@2*("#$%&'*72$.#540* •  J*083L#'0M*Q3(24*#4*+6^_H`?*>Y(66(.23$*a*@+6(+*_HI`* •  <+$)8+)#0*b($"8043'*c*3#0#+3./d* •  O+5#30?*&23*2:L(280*)+50* 9.%L#*F:[#.40*_Ke`* 7/+31cc** P2343#00*** F..+1;5(*** >(156#*f+L+*** 9"+* 7(6Y*** U2*** F5#$7<* >Y(66(.23$a@+6(+*_HI`* 9("+*_JI`*** 762[83#*** !2*** F5#$-O*** >6'*** 96(.#*** 72Q2g#0*_Je`*** f7>O*** F36#+$0*_T`*** >43#+1!@*** 91:(#$4@+6Y*** 72$.833#$4*C+0Y#66*** f+L+*=(#E0*_e`*** FV*** >E($)*** 94#[(*Oh*** 72$.833#$4*-<*** f2($*f+L+*** O9-*_Ji`*** ,O7*** 9g81*** 72$.833#$4*F:[#.40* <($"+*_KK`*** j#+.%L#*F:[#.40*_JT`*hKI* Q3(24*#4*+6^*_H`*** 72$.833#$4*O+0.+6*** -O!*** >7FFO*_JR`* h7*** 7k*** G36+$)*** -+5j#"8.#*_JK`* >@-*_JS`* ** 7/+5#6*** P2343+$*JIIe*** -86%<(05*_KH`*** >(156#*7Z7cc*** ** !"#"$#%&' %%'
  • 11. >83L#'*l8#0%2$0* N9( *7+$*(4*:#*(156#1#$4#"*+0*+*6(:3+3'N* >B; *A2#0*(4*3#X8(3#*38$%1#*0855234*42* )8+3+$4##*(40*0#1+$%.0N* OB@7 *]286"*38$%1#*0855234*#$+:6#*0()$(m.+$4* 5#3&231+$.#*(1532L#1#$40N* OP *!0*(4*0855234#"*:'*021#*=-*+63#+"'N* !"#"$#%&' %&'
  • 12. >83L#'*j#08640* •  eJ*.2$.#540*("#$%m#"?*nI*.2$0("#3#"*"(0%$.4* O6L16'P6H' OP' N9(' >B;' OB@7' NLF6)6W'>1:ER1/.' OP' N9(' >B;' OB@7' PH1QL5'O6LQLRS,.' h* ;* ;* h* PK,/H.' ;* ' ;* ;* J1T61ER/,.' h* ;* ;* h* PO0P>' ;* ' ;* ;* J1/*LR1/'A)6L)F:,.' h* h* ;* h* PH1Q.' ;* ' ;* ;* J6LR5):'>,5R1/.' h* h* ;* h* J1/5E66,/H'[FG,5H.' ;* ' ;* ;* 0:1F):'P**6,..'>I)5,.' h* h* ;* h* BS,/HTN11I' ;* ' ;* ;* 06,,/'UV6,)*.' h* ;* ;* ;* BS,/H.' ;* ' ;* ;* 9QQEH)FL:LHW' h* ;* h* h* 7)6T@,],6,/5,.' ;* ' ;* ;* X1L/' h* ;* ;* ;* N15Y.' h* h* ;* h* 716Y#X1L/' ;* ' ;* ;* ;,Q16W';1*,:' h* ;* h* h* 7EHE6,.' ;* ' ;* ;* ;,HV1*'9/S15)R1/' h* ;* ;* h* 0E)6*.' ;* ' ;* ;* @)5,TP/*T@,I)L6' h* h* ;* ;* ;,..)K,'^E,E,' ;* ' ;* ;* UV6,)*'O11:.' h* h* ;* ;* [/,T.L*,*'J1QQE/L5)R1/' ;* ' ;* ;* UV6,)*T:15):'A)6L)F:,.' h* h* ;* h* O)6)::,:'(E:Y'[I,6)R1/.' ;* ' ;* ;* UV6,)*.' h* h* ;* ;* A1:)R:,.' h* ;* h* ;* O0P>' ;* ' ;* ;* Z6)II,6'[FG,5H.' h* h* ;* h* @,*E5,6.' ;* ' ;* ;* >L/K:,'(:15Y.' ;* ' ;* ;* >H)H,'@,51/5L:L)R1/' ;* ' ;* ;* !"#"$#%&' %!'
  • 13. >83L#'*j#08640* @,_EL6,'A;'>EII16H' OP' N9(' >B;' OB@7' @,_EL6,'A;'>EII16H' OP' N9(' >B;' OB@7' P5RS,'[FG,5H.' ;* h* h* ;* ;)I#@,*E5,' ;* h* h* ;* P5H16.' ;* h* h* h* ;,..)K,'.,/*.' ;* h* h* h* P.W/5V61/1E.'9/S15)R1/' ;* h* h* h* ;L6616.' ;* h* ;* h* P`EQTa1Q)L/.' ;* h* h* ;* +1T9/H,65,..L1/' ;* h* h* h* ()66L,6.' ;* h* ;* h* [-/,6.VLI' ;* ;* ;* h* (WTA):E,' ;* h* h* h* O,6.L.H,/H'a)H)'>H6E5HE6,.' ;* h* h* ;* JV)//,:.' ;* h* h* h* @,I:L5)R1/' ;* h* h* ;* J:15Y.' ;* h* ;* h* >L*,TBb,5H'76,,' ;* ;* h* h* a)H)';1S,Q,/H' ;* ;* ;* h* >I,5E:)RS,'B`,5ER1/' ;* ;* h* h* a)H)'>H6,)Q.' ;* h* h* h* U6)/.)5R1/.' ;* h* h* h* 9QI:L5LH'O)6)::,:L.Q' ;* h* ;* h* UEI:,'>I)5,.' ;* h* h* ;* 9.1:)R1/' ;* h* h* h* A)H.' ;* h* h* h* N15):LHW' ;* ;* ;* h* A,5H16'[I,6)R1/.' ;* h* ;* h* !"#"$#%&' %8'
  • 14. >83L#'*72$.680(2$* •  O+3+66#6*.2$.#540*+0*6(:3+3(#0* – b23*&23*L#3'*05#.(m.*25%1(V+%2$0d* •  72$.833#$.'*.2$.#540*3#X8(3#*=-* 0855234* – P23*5#3&231+$.#* – G$&23.#*#$.+5086+%2$?*(1184+:(6(4'* – G$&23.#*+0'$.^*#g#.8%2$?*o* !"#"$#%&' %$'
  • 15. A#"8.#"*j#X8(3#1#$40*&23*=-0* -+$+)#"* -+$+)#"* p2%2$*2&* 72$43266+:6#* -84+%2$* Gg#.8%2$* FE$#30/(5* G$&23.#1#$4* !"#"$#%&' %4'
  • 16. G$&23.($)*>#1+$%.0*E(4/*+*-#4+;2:[#.4*O3242.26* J[+J?@@B+JC'a[;P9+>' !"#"$#%&' %='
  • 17. 72$.833#$.'*A21+($0M* FE$#30/(5;:+0#"*-#4+2:[#.4*O3242.26* 0..* 1 Domain readField(obj, idx) Object writeField(obj, idx, val) owned by reqExec(obj, method, args) newThread(closure) readGlobal(glob) 0..* 1 Thread writeGlobal(glob, val) enforced : bool primitiveCopy(obj) runs in primitive*(...) !"#"$#%&' %3'
  • 18. A21+($*#$&23.($)*!1184+:(6(4'* Main Cell with #foo Immutable Domain cell = new Cell() cell.set(#foo) domain.adopt(cell) enforced() enforced cell.set(#bar) → reqExec(cell, set, #bar) cell.set(#bar) writeToField(cell, 1, #bar) ImmutabilityError(cell, 1, #bar) !"#"$#%&' %D'
  • 20. 9$"?*"2#0*(4*0.+6#N* BAPN?PU9[+' !"#"$#%&' &&'
  • 21. Gg53#00(L#$#00M*762[83#B0*9)#$40* J:)..' c;,HV1*.' N[J' PK,/H'd)*TV15ef' e* HK* qE(4/284*#$&23.#1#$4*2&*0#1+$%.0* J:)..' c;,HV1*.' N[J' PK,/H' e* RK* PK,/Ha1Q)L/' R* HR* 9QQEH)F:,a1Q)L/' n* Ki* %3' D&' !"#"$#%&' &!'
  • 22. Gg53#00(L#$#00*($*<F7* P*TV15' [-/,6.VLIT F).,*';[O' PK,/H.' HKq* iH* >U;' een** Kni* PQFL,/HU):Y>U' KnH* KKT* P5RS,[FG,5H.' ;* iH* J>Ogπ' ;* HS* -FO*:+0#*0'04#1* KIne* qE(4/284*#$&23.#1#$4*2&*0#1+$%.0* !"#"$#%&' &8'
  • 23. Speed Ratio: Ad−hoc/MOP−based 0.0 0.2 0.4 0.6 0.8 1.0 1.2 Binary Trees (AT) FannkuchRedux (AT) !"#"$#%&' Fasta (AT) NBody (AT) Binary Trees (LR) FannkuchRedux (LR) Kernel Benchmarks Fasta (LR) NBody (LR) Speed Ratio: Ad−hoc/MOP−based 0.0 0.2 0.4 0.6 0.8 1.0 1.2 Array Access (AT) Instance Var. (AT) Local Sends (AT) O#3&231+$.#* Remote Sends (AT) 91:(#$4@+6Y>@* Remote Sends (AT) with 10 arguments Microbenchmarks Array Access (LR) Instance Var. (LR) Sends (LR) &$' >@-* !156#1#$4+%2$M*Q'4#.2"#*@3+$0&231+%2$* Sends (LR) with 10 arguments
  • 25. !"#$%m#"*j#X8(3#1#$40* &23*,$(&'($)*9:043+.%2$* -+$+)#"*-84+%2$* -+$+)#"*Gg#.8%2$* p2%2$*2&*FE$#30/(5** j#X8(3#1#$40*:+0#"*2$*083L#'* 7436^*G$&23.#1#$4* !"#"$#%&' &='
  • 26. FE$#30/(5;:+0#"*-FO*+0* 72$.833#$.'*9:043+.%2$*&23*=-0* 9)#$40* 0..* 1 Domain readField(obj, idx) 91:(#$4@+6Y>@* Object writeField(obj, idx, val) owned by reqExec(obj, method, args) newThread(closure) readGlobal(glob) Thread enforced : bool 0..* 1 writeGlobal(glob, val) primitiveCopy(obj) 9.%L#F:[#.40* runs in primitive*(...) 7>Ocπ* FE$#30/(5;:+0#"*-FO* +0*.2112$*&28$"+%2$* >@-* !"#"$#%&' &3'
  • 27. P8483#*]23Y* •  =-*>855234* –  U2+6M*:#*5#3&231+$.#*$#843+6* –  Q+0#"*2$*7O,B0*-#123'*-+$+)#1#$4*,$(4* –  >E##4*0524M*7>O?*9.4230?*9.%L#*F:[#.40?o* •  !$4#3+.%$)*72$.833#$.'*-2"#60* –  9.4230*c*>@-?o* –  >#1+$%.0* !"#"$#%&' &D'