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

What's hot (16)

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

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

PDF
Guía de ingreso a plataforma presmad
Miguel Rivera
 
PDF
Upload obeclms
Duangnapa Inyayot
 
PDF
Sahih boukhary 2
OURAHOU Mohamed
 
PDF
Story bird resource_part_1
Eric Brace
 
PDF
Al ajrumiyyah matan
Zayyin YinLa
 
PDF
SURAH DALAM HSP.pdf
ssuser48ba79
 
PDF
Janusz Korczak - wykaz książek i artykułów w zbiorach BP Cieszyn
Multimedia Lab - Pedagogical Library
 
PDF
وزە نوێبوەکان (جیۆسێرماڵ)
Bahzad5
 
PDF
2.pdf
Mahamad Jawhar
 
PDF
Genro de Pedro Corrêa é preso em nova fase da Lava Jato
Portal NE10
 
PDF
Censorship Powerpoint
crazypheet
 
DOCX
Matlab Primer (Sigmon).pdf .docx
andreecapon
 
PDF
Tep320 visual arts tutorial one power point pdf
sandyrawling
 
PDF
Grupo Peoplebpo
amenjura
 
PDF
zthere construction
zthere corp.
 
PDF
Gospel of luke arabic
WorldBibles
 
PDF
RabatBangla.pdf
MohammadZubair874462
 
PDF
O anticristo
Everaldo Athayde
 
PDF
Mazzeo's Sample Graphs from Internship Report
Michelle Mazzeo
 
PDF
Virtues some surahs of the noble qura'n - imaam al-albaanee
Shahedur
 
Guía de ingreso a plataforma presmad
Miguel Rivera
 
Upload obeclms
Duangnapa Inyayot
 
Sahih boukhary 2
OURAHOU Mohamed
 
Story bird resource_part_1
Eric Brace
 
Al ajrumiyyah matan
Zayyin YinLa
 
SURAH DALAM HSP.pdf
ssuser48ba79
 
Janusz Korczak - wykaz książek i artykułów w zbiorach BP Cieszyn
Multimedia Lab - Pedagogical Library
 
وزە نوێبوەکان (جیۆسێرماڵ)
Bahzad5
 
Genro de Pedro Corrêa é preso em nova fase da Lava Jato
Portal NE10
 
Censorship Powerpoint
crazypheet
 
Matlab Primer (Sigmon).pdf .docx
andreecapon
 
Tep320 visual arts tutorial one power point pdf
sandyrawling
 
Grupo Peoplebpo
amenjura
 
zthere construction
zthere corp.
 
Gospel of luke arabic
WorldBibles
 
RabatBangla.pdf
MohammadZubair874462
 
O anticristo
Everaldo Athayde
 
Mazzeo's Sample Graphs from Internship Report
Michelle Mazzeo
 
Virtues some surahs of the noble qura'n - imaam al-albaanee
Shahedur
 
Ad

More from Stefan Marr (20)

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

Recently uploaded (20)

PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PPT
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 

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'