From: <rob...@an...> - 2007-07-03 13:44:12
|
Hi Sowjanya=2C There=27s another copy here http=3A//www=2Eresearch=2Eibm=2Ecom/ismm04/s= lides/mmtk-tutorial=2Epdf=2C but I don=27t actually think it has the ste= p-by-step=2E Off the top of my head=2C the steps you need are=3A - Add a write barrier=2C and a remembered set=2E - Add a second TraceLocal class to perform a nursery trace=2E - Add some logic to =27poll=27 to decide when to do a nursery collection= or a full-heap collection - Modify MyGcCollector to handle both nursery and mature-space collectio= n (in the actual generational collectors this is split between the =27ge= n=27 package and the per-mature-space packages=2E cheers ----- Original Message ----- From=3A 100ji =3Citz100ji=40gmail=2Ecom=3E Date=3A Tuesday=2C July 3=2C 2007 6=3A07 pm Subject=3A Re=3A =5BJikesrvm-core=5D MMTk Questions To=3A Discussion of day-to-day development and design among JikesRVM cor= e team members =3Cjikesrvm-core=40lists=2Esourceforge=2Enet=3E =3E Hi Robin=2C =3E = =3E I tried to get that presentation ( =3E http=3A//jikesrvm=2Esourceforge=2Enet/info/talks/ISMM04-MMTk=2Epdf) = =2E = =3E But=2C it =3E has been moved somewhere=2E Can you please send the presentation = =3E to me =3E off list=2E =3E = =3E Thanks=2E =3E = =3E On 7/3/07=2C Robin Garner =3Crobin=2Egarner=40anu=2Eedu=2Eau=3E wrot= e=3A =3E =3E Steve and Perry=27s original presentation is on =3E =3E =3E =3E http=3A//www=2Ejikesrvm=2Eorg/Presentations =3E =3E =3E =3E cheers =3E =3E =3E =3E 100ji wrote=3A =3E =3E =3E Hi Robin=2C =3E =3E =3E =3E =3E =3E Thanks for the reply=2E=A0 I have gone through the tutorial = and =3E =3E =3E implemented part(1 and 2) of it=2E However=2C the one I am = =3E looking at has =3E =3E =3E the Generational collector as a TODO and I read the code to =3E =3E =3E understand(vaguely) how to implement one=2E=A0 Is there a = =3E document that =3E =3E =3E explains implementing a generational collector too=3F =3E =3E =3E =3E =3E =3E Thanks in advance=2C =3E =3E =3E -Sowji =3E =3E =3E =3E =3E =3E On 6/28/07=2C Robin Garner =3Crobin=2Egarner=40anu=2Eedu=2Ea= u=3E wrote=3A =3E =3E =3E=3E Hi Sowjanya=2C =3E =3E =3E=3E =3E =3E =3E=3E While Eliot is right in that the MMTk tutorial is out of = =3E date in its =3E =3E =3E=3E specifics=2C the spirit of the tutorial is correct=2E=A0 = I = =3E strongly feel that =3E =3E =3E=3E you should complete the tutorial before trying to go any = =3E further with MC=5E2=2E =3E =3E =3E=3E =3E =3E =3E=3E The outline of the tutorial is=3A =3E =3E =3E=3E 1=2E Take a copy of NoGC=2C called MyGC or something=2E=A0= Get = =3E this building and =3E =3E =3E=3E working=2E=A0 Lesson=3A how to create a =27new=27 GC plan= =2C and = =3E build and run it=2E =3E =3E =3E=3E 2=2E Add a mark-sweep space to MyGC (ie build = =3E MarkSweep)=2E=A0 Lesson=3A basics =3E =3E =3E=3E collection of a new space=2E =3E =3E =3E=3E 3=2E Add a copying nursery to MyGC=2C but perform full-he= ap = =3E collection at =3E =3E =3E=3E every GC=2E=A0 This is the CopyMS collector=2E=A0 Lesson=3A= = =3E handling copying spaces=2E =3E =3E =3E=3E 4=2E Make the collector fully generational=2C by adding w= rite = =3E barriers and =3E =3E =3E=3E separate nursery and mature space GC=2E=A0 Lesson=3A = =3E handling remsets=2C =3E =3E =3E=3E barriers and different =27flavours=27 of GC=2E =3E =3E =3E=3E =3E =3E =3E=3E Daniel and I will be happy to answer any questions you ha= ve = =3E getting=3E =3E=3E through the tutorial=2E=A0 While the exact details= = =3E of the latest version are =3E =3E =3E=3E not quite correct=2C the general outline of the tutorial = is = =3E still correct=2C =3E =3E =3E=3E and is the best way we know of of coming to terms with ho= w = =3E MMTk works=2E =3E =3E =3E=3E =3E =3E =3E=3E cheers =3E =3E =3E=3E Robin =3E =3E =3E=3E =3E =3E =3E=3E 100ji wrote=3A =3E =3E =3E=3E=3E Hi all=2C =3E =3E =3E=3E=3E =3E =3E =3E=3E=3E I am trying to=A0 understand the current MMTk wrt to = =3E the old MMTk as =3E =3E =3E=3E=3E part of the MC=5E2 porting project=2E The old MMTk I a= m = =3E referring to is =3E =3E =3E=3E=3E the one on which the old MC=5E2 code is based (approxi= mately = =3E Jikes 2=2E2=2E3 =3E =3E =3E=3E=3E version)=2C see attached Plan=2Ejava file that contain= s an = =3E implementation=3E =3E=3E=3E of MC=5E2 algo file for details=2E =3E =3E =3E=3E=3E =3E =3E =3E=3E=3E These are the few things I understood and a few questi= ons = =3E I have=2E =3E =3E =3E=3E=3E Kindly verify if my understanding is accurate and answ= er = =3E the questions =3E =3E =3E=3E=3E I have=2E =3E =3E =3E=3E=3E =3E =3E =3E=3E=3E Changes between old MMTk(oMMTk) and current MMTk(MMTk)= =3A =3E =3E =3E=3E=3E =3E =3E =3E=3E=3E All the code in oMMTk was in the Plan class=2E=A0 In = =3E MMTk=2C I noticed a few =3E =3E =3E=3E=3E major changes=3A =3E =3E =3E=3E=3E =3E =3E =3E=3E=3E - Code has been split up into several classes=2E =3E =3E =3E=3E=3E - The concept of phases has been added and has been us= ed = =3E by the =3E =3E =3E=3E=3E StopTheWorld class from which all other classes inheri= t=2E = =3E Almost all of =3E =3E =3E=3E=3E the processing in the sample GC=27s is being done in o= ne of = =3E the phases =3E =3E =3E=3E=3E in collectionPhase methods=2E =3E =3E =3E=3E=3E - The concept of Spaces has been added to ease handlin= g spaces=2E =3E =3E =3E=3E=3E - Memory handling has been abstracted out and at least= = =3E from the looks =3E =3E =3E=3E=3E of it=2C the user need not bother about the virtual ad= dress = =3E anymore=2E=3E =3E=3E=3E =3E =3E =3E=3E=3E Currently=2C there is a single plan class that does gl= obal =3E =3E =3E=3E=3E initializations=2E For each application(mutator) threa= d = =3E there is a =3E =3E =3E=3E=3E Mutator object (So=2C the number of mutator objects is= the = =3E same as the =3E =3E =3E=3E=3E number of application level threads)=2E Usually=2C the= re is a = =3E 1=3A1 mapping =3E =3E =3E=3E=3E between application threads and kernel threads=2E For = each = =3E processor=3E =3E=3E=3E there is instance of the collector object=2E = =3E Similarly=2C there is a =3E =3E =3E=3E=3E global Trace object that handles the global tracing an= d =3E =3E =3E=3E=3E synchronisation=2E=A0 The TraceLocal object does the p= er- =3E thread related =3E =3E =3E=3E=3E tracing=2E =3E =3E =3E=3E=3E =3E =3E =3E=3E=3E Is my understanding correct=3F =3E =3E =3E=3E=3E =3E =3E =3E=3E=3E Questions=3A =3E =3E =3E=3E=3E =3E =3E =3E=3E=3E - Is there file/document that lists the order in which= the = =3E methods in =3E =3E =3E=3E=3E these classes are called=A0 for a simple algorithm=3F = If = =3E this exists=2C it =3E =3E =3E=3E=3E will make my understanding of the whole system much mu= ch = =3E more simpler=2E =3E =3E =3E=3E=3E - Is there code for a GC algo in the latest release th= at = =3E is closest to =3E =3E =3E=3E=3E MC=5E2 algo=3F =3E =3E =3E=3E=3E - Does java spec mandate that there should be a 1=3A1 = =3E mapping between an =3E =3E =3E=3E=3E application thread and an OS thread=3F =3E =3E =3E=3E=3E - What does =22heap is full=22 mean in a generational = garbage = =3E collector=3F=3E =3E=3E=3E Why don=27t we say older generation is ful= l instead=3F =3E =3E =3E=3E=3E - Can anyone please take a look at the attached Plan=2E= java = =3E file and =3E =3E =3E=3E=3E give me a brief overview of how to port the algo=2E I = have = =3E sort of =3E =3E =3E=3E=3E understood parts of the file=2C but I am clueless on h= ow I = =3E should be =3E =3E =3E=3E=3E implementing an incremental marking and copying in the= old = =3E code using =3E =3E =3E=3E=3E the phases in StopTheWorld GC=2E =3E =3E =3E=3E=3E =3E =3E =3E=3E=3E MC=5E2=5B1=5D Specific questions=3A =3E =3E =3E=3E=3E =3E =3E =3E=3E=3E=A0=A0=A0=A0 - In MC=5E2 algo the older = =3E generation is divided into multiple windows=2E =3E =3E =3E=3E=3E Each window from a high level can be thought of as a g= eneration =3E =3E =3E=3E=3E itself=2C with an incremental marking and copying mech= anism = =3E that works =3E =3E =3E=3E=3E across all these windows=2E =3E =3E =3E=3E=3E=A0=A0=A0=A0=A0=A0=A0=A0 - How do I = =3E implement this feature=3F =3E =3E = =3E =3E=3E=3E=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 - Does using = CopySpace per window work=3F =3E =3E =3E=3E=3E=A0=A0=A0=A0=A0=A0=A0=A0 - Should I = =3E be using Spaces=3F Is there any Space already that =3E =3E =3E=3E=3E exhibits =3E =3E =3E=3E=3E similar properties=3F =3E =3E =3E=3E=3E=A0=A0=A0=A0=A0=A0=A0=A0 - How much = =3E work would it be to implement a Space with the above =3E =3E =3E=3E=3E properties=3F =3E =3E =3E=3E=3E=A0=A0=A0=A0 - Can MC=5E2 be used in non- =3E generational mode=3F Will it be efficient=3F =3E =3E =3E=3E=3E =3E =3E =3E=3E=3E More later =3A)=2E =3E =3E =3E=3E=3E =3E =3E =3E=3E=3E Thanks for your time=2C =3E =3E =3E=3E=3E -Sowjanya =3E =3E =3E=3E=3E =3E =3E =3E=3E=3E =5B1=5D http=3A//www=2Ecs=2Eumass=2Eedu/=7Eemery/pubs/= 04-15=2Epdf =3E =3E =3E=3E=3E =3E =3E =3E=3E=3E =3E =3E =3E=3E=3E ------------------------------------------------------= ----- =3E ------------- =3E =3E =3E=3E=3E =3E =3E =3E=3E=3E ------------------------------------------------------= ----- =3E -------------- =3E =3E =3E=3E=3E This SF=2Enet email is sponsored by DB2 Express =3E =3E =3E=3E=3E Download DB2 Express C - the FREE version of DB2 expre= ss = =3E and take =3E =3E =3E=3E=3E control of your XML=2E No limits=2E Just data=2E Click= to get it now=2E =3E =3E =3E=3E=3E http=3A//sourceforge=2Enet/powerbar/db2/ =3E =3E =3E=3E=3E =3E =3E =3E=3E=3E =3E =3E =3E=3E=3E ------------------------------------------------------= ----- =3E ------------- =3E =3E =3E=3E=3E =3E =3E =3E=3E=3E =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F =3E =3E =3E=3E=3E Jikesrvm-core mailing list =3E =3E =3E=3E=3E Jikesrvm-core=40lists=2Esourceforge=2Enet =3E =3E =3E=3E=3E https=3A//lists=2Esourceforge=2Enet/lists/listinfo/jik= esrvm-core =3E =3E =3E=3E =3E =3E =3E=3E -- =3E =3E =3E=3E Robin Garner =3E =3E =3E=3E Dept=2E of Computer Science =3E =3E =3E=3E Australian National University =3E =3E =3E=3E http=3A//cs=2Eanu=2Eedu=2Eau/people/Robin=2EGarner/ =3E =3E =3E=3E =3E =3E =3E=3E ---------------------------------------------------------= --- =3E ------------- =3E =3E =3E=3E This SF=2Enet email is sponsored by DB2 Express =3E =3E =3E=3E Download DB2 Express C - the FREE version of DB2 express = =3E and take =3E =3E =3E=3E control of your XML=2E No limits=2E Just data=2E Click to= get it now=2E =3E =3E =3E=3E http=3A//sourceforge=2Enet/powerbar/db2/ =3E =3E =3E=3E =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F =3E =3E =3E=3E Jikesrvm-core mailing list =3E =3E =3E=3E Jikesrvm-core=40lists=2Esourceforge=2Enet =3E =3E =3E=3E https=3A//lists=2Esourceforge=2Enet/lists/listinfo/jikesr= vm-core =3E =3E =3E=3E =3E =3E =3E =3E =3E =3E ------------------------------------------------------------= - =3E ------------ =3E =3E =3E This SF=2Enet email is sponsored by DB2 Express =3E =3E =3E Download DB2 Express C - the FREE version of DB2 express and= take =3E =3E =3E control of your XML=2E No limits=2E Just data=2E Click to ge= t it now=2E =3E =3E =3E http=3A//sourceforge=2Enet/powerbar/db2/ =3E =3E =3E =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F =3E =3E =3E Jikesrvm-core mailing list =3E =3E =3E Jikesrvm-core=40lists=2Esourceforge=2Enet =3E =3E =3E https=3A//lists=2Esourceforge=2Enet/lists/listinfo/jikesrvm-= core =3E =3E =3E =3E =3E =3E -- =3E =3E Robin Garner =3E =3E Dept=2E of Computer Science =3E =3E Australian National University =3E =3E http=3A//cs=2Eanu=2Eedu=2Eau/people/Robin=2EGarner/ =3E =3E =3E =3E --------------------------------------------------------------- =3E ---------- =3E =3E This SF=2Enet email is sponsored by DB2 Express =3E =3E Download DB2 Express C - the FREE version of DB2 express and tak= e =3E =3E control of your XML=2E No limits=2E Just data=2E Click to get it= now=2E =3E =3E http=3A//sourceforge=2Enet/powerbar/db2/ =3E =3E =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F =3E =3E Jikesrvm-core mailing list =3E =3E Jikesrvm-core=40lists=2Esourceforge=2Enet =3E =3E https=3A//lists=2Esourceforge=2Enet/lists/listinfo/jikesrvm-core= =3E =3E =3E = =3E ----------------------------------------------------------------- =3E -------- =3E This SF=2Enet email is sponsored by DB2 Express =3E Download DB2 Express C - the FREE version of DB2 express and take =3E control of your XML=2E No limits=2E Just data=2E Click to get it now= =2E =3E http=3A//sourceforge=2Enet/powerbar/db2/ =3E =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =3E Jikesrvm-core mailing list =3E Jikesrvm-core=40lists=2Esourceforge=2Enet =3E https=3A//lists=2Esourceforge=2Enet/lists/listinfo/jikesrvm-core =3E |