IRC.git
14 years agochanges on rcr stall site generation
yeom [Tue, 9 Nov 2010 00:42:52 +0000 (00:42 +0000)]
changes on rcr stall site generation

14 years agodo not generate enqueueTR for the main method
yeom [Mon, 8 Nov 2010 21:04:11 +0000 (21:04 +0000)]
do not generate enqueueTR for the main method

14 years agocapture a todo item, we don't expect its a problem for current benchmarks though
jjenista [Mon, 8 Nov 2010 19:24:16 +0000 (19:24 +0000)]
capture a todo item, we don't expect its a problem for current benchmarks though

14 years agofix bug
bdemsky [Mon, 8 Nov 2010 08:21:38 +0000 (08:21 +0000)]
fix bug

14 years agochanges:
bdemsky [Mon, 8 Nov 2010 08:09:12 +0000 (08:09 +0000)]
changes:
(1) create traversers only for non leaf threads
(2) fixup stuff to have separate tables for separate weakly connected components
(3) fixup stallsite code

14 years agochange: more aggressively re-initialize fields of rcrRecords.
yeom [Sat, 6 Nov 2010 00:00:21 +0000 (00:00 +0000)]
change: more aggressively re-initialize fields of rcrRecords.

now, rcr is working fine with all benchmarks, except mergesort.

14 years agochanges: don't need to have resolvePointer opr for coarse cases.
yeom [Fri, 5 Nov 2010 20:59:46 +0000 (20:59 +0000)]
changes: don't need to have resolvePointer opr for coarse cases.

14 years agohave an exceptional case that do not generate fine rentry when parent has a coarse...
yeom [Fri, 5 Nov 2010 20:45:31 +0000 (20:45 +0000)]
have an exceptional case that do not generate fine rentry when parent has a coarse edge with non-parent node.

14 years agodoesn't make sense for us to need a barrier here...
bdemsky [Fri, 5 Nov 2010 19:24:29 +0000 (19:24 +0000)]
doesn't make sense for us to need a barrier here...

14 years agojust add the type to make sure it is 3, which is what we're expecting but trying...
jjenista [Fri, 5 Nov 2010 18:20:07 +0000 (18:20 +0000)]
just add the type to make sure it is 3, which is what we're expecting but trying to prevent

14 years agowithout this barrier the compiler can optimize variable val out and the critical...
jjenista [Fri, 5 Nov 2010 17:51:05 +0000 (17:51 +0000)]
without this barrier the compiler can optimize variable val out and the critical first clause of the subseqeuent if statement is just lost, then when you expect val to be non-NULL in any call to getHead() the thread crashes

14 years agohead pointer might be NULL, as is checked a few lines down, so add another clause...
jjenista [Fri, 5 Nov 2010 17:45:17 +0000 (17:45 +0000)]
head pointer might be NULL, as is checked a few lines down, so add another clause to if

14 years agoconvenient, add makefile to list of dependencies for executable targets
jjenista [Fri, 5 Nov 2010 17:28:45 +0000 (17:28 +0000)]
convenient, add makefile to list of dependencies for executable targets

14 years agochange
bdemsky [Fri, 5 Nov 2010 16:59:16 +0000 (16:59 +0000)]
change

14 years agoanother bug fix
bdemsky [Fri, 5 Nov 2010 16:55:25 +0000 (16:55 +0000)]
another bug fix

14 years agobug fix
bdemsky [Fri, 5 Nov 2010 16:42:04 +0000 (16:42 +0000)]
bug fix

14 years agobug fixes
bdemsky [Fri, 5 Nov 2010 16:29:21 +0000 (16:29 +0000)]
bug fixes

14 years agochanges
bdemsky [Fri, 5 Nov 2010 15:54:33 +0000 (15:54 +0000)]
changes

14 years agoFix volatile in mgc version. Volatile variable should not be allocated in the shared...
jzhou [Wed, 3 Nov 2010 23:31:35 +0000 (23:31 +0000)]
Fix volatile in mgc version.  Volatile variable should not be allocated in the shared heap like static variables

14 years agolabyrinth is seg-faulting, if you uncomment these new lines it can reach the end...
jjenista [Wed, 3 Nov 2010 22:01:24 +0000 (22:01 +0000)]
labyrinth is seg-faulting, if you uncomment these new lines it can reach the end of the program but it did not route all the subproblems.  Some better understanding of the rcrRecord will help here

14 years agoSeparated out Demsky's hashStructure interface code, changed a variable name from...
stephey [Wed, 3 Nov 2010 21:54:06 +0000 (21:54 +0000)]
Separated out Demsky's hashStructure interface code, changed a variable name from node to curr, and fixed logic that would cause an assertion error (bug was the code attempted to inline checks that weren't inlinable)

14 years agowhen the RCR system resolves a parent stall site, the parent thread has its stallreco...
jjenista [Wed, 3 Nov 2010 20:54:01 +0000 (20:54 +0000)]
when the RCR system resolves a parent stall site, the parent thread has its stallrecord.common.rcrstatus set back to 0, but if the ooojava memory queue resolves the stall earlier, it allows the parent to resume without setting rcrstatus, so we added a line in the parent just after the stall so it clears its rcrstatus itself no matter which method resumes it

14 years agothis check shows that some kind of array pointer is not what the assertion expected...
jjenista [Wed, 3 Nov 2010 20:50:19 +0000 (20:50 +0000)]
this check shows that some kind of array pointer is not what the assertion expected...

14 years agoupdate targets so dependence on source files is recognized
jjenista [Wed, 3 Nov 2010 20:49:22 +0000 (20:49 +0000)]
update targets so dependence on source files is recognized

14 years agoconveniences for RCR
jjenista [Wed, 3 Nov 2010 17:22:28 +0000 (17:22 +0000)]
conveniences for RCR

14 years agochanges
bdemsky [Wed, 3 Nov 2010 12:44:05 +0000 (12:44 +0000)]
changes

14 years agobug
bdemsky [Wed, 3 Nov 2010 10:52:58 +0000 (10:52 +0000)]
bug

14 years agomake sure 1 is long long...other bug fix
bdemsky [Wed, 3 Nov 2010 10:45:03 +0000 (10:45 +0000)]
make sure 1 is long long...other bug fix

14 years agocode changes
bdemsky [Wed, 3 Nov 2010 10:35:16 +0000 (10:35 +0000)]
code changes

14 years agofix: have the proper size of rcrRecord since the size of the rcrRecord array is equal...
yeom [Wed, 3 Nov 2010 00:33:11 +0000 (00:33 +0000)]
fix: have the proper size of rcrRecord since the size of the rcrRecord array is equal to the size of dynamic coarse conflict var set.

14 years agonew coreprof event, move workschedule dowork label only across the coreprof event...
jjenista [Tue, 2 Nov 2010 22:30:22 +0000 (22:30 +0000)]
new coreprof event, move workschedule dowork label only across the coreprof event to prevent mismatch, split conflict resolver assert into two separate terms, added an rcr remake target

14 years agoAdd support for volatile keyword in mgc version. For Tilera, as we execute a process...
jzhou [Tue, 2 Nov 2010 22:30:03 +0000 (22:30 +0000)]
Add support for volatile keyword in mgc version.  For Tilera, as we execute a process on each core, to make all the 'threads' share the volatile field, make it as a shared field in global shared heap like static fields.  Add keywords and rules for enumarated type, but still have bugs and when parsing the test code, the compiler throw errors.

14 years agoI misunderstood the REntry pointer, its a pointer to an object pointer and it SHOULD...
jjenista [Tue, 2 Nov 2010 21:33:13 +0000 (21:33 +0000)]
I misunderstood the REntry pointer, its a pointer to an object pointer and it SHOULD be dereferenced before casting it to an int pointer, and then used to grab the object type or OID out of the actual object memory

14 years agoupdate trace to dump out gnuplot plots
bdemsky [Tue, 2 Nov 2010 14:47:20 +0000 (14:47 +0000)]
update trace to dump out gnuplot plots

14 years agofix so that profiling doesn't throw an error
bdemsky [Tue, 2 Nov 2010 12:21:55 +0000 (12:21 +0000)]
fix so that profiling doesn't throw an error

14 years agohave coreprof plot events
jjenista [Tue, 2 Nov 2010 02:56:14 +0000 (02:56 +0000)]
have coreprof plot events

14 years agobug fix: add the invar to the coarseConflictSet when the invar itself has a conflict.
yeom [Tue, 2 Nov 2010 01:01:36 +0000 (01:01 +0000)]
bug fix: add the invar to the coarseConflictSet when the invar itself has a conflict.

14 years agoForgot to take out debug comments.
stephey [Tue, 2 Nov 2010 00:33:34 +0000 (00:33 +0000)]
Forgot to take out debug comments.

14 years agoFound a bug where if the inset variable itself has a reference conflict, it doesn...
stephey [Tue, 2 Nov 2010 00:31:07 +0000 (00:31 +0000)]
Found a bug where if the inset variable itself has a reference conflict, it doesn't get a case statement.

14 years agoupdates on master-makefile of oooJava: generates a separate rcr executable file.
yeom [Mon, 1 Nov 2010 22:43:01 +0000 (22:43 +0000)]
updates on master-makefile of oooJava: generates a separate rcr executable file.

14 years agothe mismatch of sequential and ooo goes away if you remove the semantically-benign...
jjenista [Mon, 1 Nov 2010 19:50:13 +0000 (19:50 +0000)]
the mismatch of sequential and ooo goes away if you remove the semantically-benign explicit parent of this micro benchmark.  It means our system still has bugs, but this pattern doesn't appear in the normal benchmarks so the problem is best deferred until it impacts results

14 years agoa version of micro4 that collects the results and shows sequential behavior is preser...
jjenista [Mon, 1 Nov 2010 19:41:43 +0000 (19:41 +0000)]
a version of micro4 that collects the results and shows sequential behavior is preserved, brians fix is awesome

14 years agoupdate poolcreate args for deque version as well
jjenista [Mon, 1 Nov 2010 18:29:40 +0000 (18:29 +0000)]
update poolcreate args for deque version as well

14 years agoclean stuff up a little
bdemsky [Mon, 1 Nov 2010 09:31:40 +0000 (09:31 +0000)]
clean stuff up a little

14 years agoconvert CAS -> XCHG when possible....no retry necessary this way
bdemsky [Mon, 1 Nov 2010 09:18:04 +0000 (09:18 +0000)]
convert CAS -> XCHG when possible....no retry necessary this way

14 years agobug
bdemsky [Mon, 1 Nov 2010 09:04:24 +0000 (09:04 +0000)]
bug

14 years agochanges: generate rcr retirehashtable code correctly according to the runtime interface.
yeom [Sun, 31 Oct 2010 23:04:06 +0000 (23:04 +0000)]
changes: generate rcr retirehashtable code correctly according to the runtime interface.

TODO: Current implementation assumes that the size of the rcrRecord array is equal to the size of fsen.getDynamicInVarSet(). But, it seems not to be true since the rcrRecord array is allocated by the size of inset var which is actually related with coarse conflict.

14 years agoMinor changes: Removing vestigial code
stephey [Sat, 30 Oct 2010 07:52:39 +0000 (07:52 +0000)]
Minor changes: Removing vestigial code

Previous commit:
-Every case where we enqueue an item will be guaranteed to have a case statement upon dequeue.
- Every valid pointer route will now end with either an enqueue to an array or Demsky's interface code with hashStructure.c
-Eliminated multiple traversals, empty switch statements and unused variables/pointers.
-Added new ArrayList based structure to store ObjRefs (only augmented by 1 method)

14 years agoFixed:
stephey [Sat, 30 Oct 2010 07:15:47 +0000 (07:15 +0000)]
Fixed:

14 years agocommit some useful debug stuff all turned off until needed, trying to get workspace...
jjenista [Fri, 29 Oct 2010 18:55:48 +0000 (18:55 +0000)]
commit some useful debug stuff all turned off until needed, trying to get workspace synched to prevent constant conflicts

14 years agofor original thread to become worker zero
jjenista [Fri, 29 Oct 2010 18:29:48 +0000 (18:29 +0000)]
for original thread to become worker zero

14 years agoA variable defined in task A and read in task A's child's child appears to have a...
jjenista [Fri, 29 Oct 2010 18:28:13 +0000 (18:28 +0000)]
A variable defined in task A and read in task A's child's child appears to have a source from A--why does this assert stop code?  check out later, check in the informative version of the assert

14 years agoalternate version of micro2 that gathers results of every micro task shows that even...
jjenista [Fri, 29 Oct 2010 18:25:55 +0000 (18:25 +0000)]
alternate version of micro2 that gathers results of every micro task shows that even with just variable dependencies the system is incorrect and parallel version does not behave like serial version

14 years agobug fix....have to make sure we don't insert task into some other deque as insertion...
bdemsky [Fri, 29 Oct 2010 07:06:11 +0000 (07:06 +0000)]
bug fix....have to make sure we don't insert task into some other deque as insertion is not multithread safe

14 years agoAdd support for static inner classes in mgc version. Currently we only implemented...
jzhou [Fri, 29 Oct 2010 00:15:37 +0000 (00:15 +0000)]
Add support for static inner classes in mgc version. Currently we only implemented limited features. Do not support Outer.Inner yet. Also only use inner class's name to identify the class instead of Outer.Inner which may cause bugs if there are two inner classes with the same name but with different surrounding classes.

14 years agosimplify the program...still crashes
bdemsky [Thu, 28 Oct 2010 22:07:14 +0000 (22:07 +0000)]
simplify the program...still crashes

14 years agoDon't allocate type number for interfaces so that we do not need allocate lines in...
jzhou [Thu, 28 Oct 2010 18:58:57 +0000 (18:58 +0000)]
Don't allocate type number for interfaces so that we do not need allocate lines in the virtual method table for interfaces and the virtual method table can be tight.

14 years agoeven though man page says otherwise, addr and len to mprotect must be page-aligned...
jjenista [Thu, 28 Oct 2010 01:01:24 +0000 (01:01 +0000)]
even though man page says otherwise, addr and len to mprotect must be page-aligned and page multiple

14 years agosmall change: not using path when includes the header file as Brian suggested.
yeom [Thu, 28 Oct 2010 00:00:26 +0000 (00:00 +0000)]
small change: not using path when includes the header file as Brian suggested.

14 years agoadd feature to memPool for detecting misuse of records by clients, also added a funct...
jjenista [Wed, 27 Oct 2010 23:48:17 +0000 (23:48 +0000)]
add feature to memPool for detecting misuse of records by clients, also added a function pointer input to mem pool so clients can customize an initializer for freshly allocated records to save duplicatation and maintenance, also mem pool changes were breaking squeue, just define a local version of the two structs it needs

14 years agoincludes the missing header file.
yeom [Wed, 27 Oct 2010 22:10:33 +0000 (22:10 +0000)]
includes the missing header file.

14 years agoEnable interface for mgc version.
jzhou [Wed, 27 Oct 2010 22:07:37 +0000 (22:07 +0000)]
Enable interface for mgc version.

14 years agofix sloppy code and use a more recognizable invalid pointer for mem pool
jjenista [Wed, 27 Oct 2010 22:00:10 +0000 (22:00 +0000)]
fix sloppy code and use a more recognizable invalid pointer for mem pool

14 years agomake sure mistakes are obvious with identifiable values
jjenista [Wed, 27 Oct 2010 21:34:17 +0000 (21:34 +0000)]
make sure mistakes are obvious with identifiable values

14 years agochanges: to prevent unnecessary LOCKXCHG when the unresolved queue is empty.
yeom [Wed, 27 Oct 2010 21:24:12 +0000 (21:24 +0000)]
changes: to prevent unnecessary LOCKXCHG when the unresolved queue is empty.

14 years agoreally bad bug
bdemsky [Tue, 26 Oct 2010 22:32:23 +0000 (22:32 +0000)]
really bad bug

14 years agosingle ended queue work stealing scheduler
bdemsky [Tue, 26 Oct 2010 22:18:58 +0000 (22:18 +0000)]
single ended queue work stealing scheduler

14 years agocouple of minor bug fixes
jjenista [Tue, 26 Oct 2010 18:17:14 +0000 (18:17 +0000)]
couple of minor bug fixes

14 years agochange calloc to RUNMALLOC, added some optional debug deque bits
jjenista [Tue, 26 Oct 2010 17:57:19 +0000 (17:57 +0000)]
change calloc to RUNMALLOC, added some optional debug deque bits

14 years agooptimize dispatch a little more
bdemsky [Tue, 26 Oct 2010 06:53:10 +0000 (06:53 +0000)]
optimize dispatch a little more

14 years agoChanges... small fix to jim's bugfix...touching our record after we free it is also...
bdemsky [Tue, 26 Oct 2010 01:48:55 +0000 (01:48 +0000)]
Changes...  small fix to jim's bugfix...touching our record after we free it is also bad...

poolalloc the rentry's...avoid running out of memory...looks like speed gains for micro also...

eliminate parentsemaphore...just use the thread local semaphore...needed to simplify freeing rentry records

14 years agofixed nasty bug, decrementing parents num running children used to be last, but new...
jjenista [Tue, 26 Oct 2010 00:59:27 +0000 (00:59 +0000)]
fixed nasty bug, decrementing parents num running children used to be last, but new code has creeped up afte rit, move this down to the very last thing done before exiting

14 years agoFixed issue where multi-dimentional primative arrays were treated as primitives....
stephey [Tue, 26 Oct 2010 00:39:34 +0000 (00:39 +0000)]
Fixed issue where multi-dimentional primative arrays were treated as primitives. Now labyrinth benchmark works

14 years agobug fix: RCR sets its proper conflict type.
yeom [Tue, 26 Oct 2010 00:14:31 +0000 (00:14 +0000)]
bug fix: RCR sets its proper conflict type.

14 years agomake sure that every benchmark of oooJava takes the largest input size by default
yeom [Mon, 25 Oct 2010 23:56:16 +0000 (23:56 +0000)]
make sure that every benchmark of oooJava takes the largest input size by default

14 years agocorrect input data for barneshut
yeom [Mon, 25 Oct 2010 23:38:53 +0000 (23:38 +0000)]
correct input data for barneshut

14 years agoOOO and RCR are speparate targets in the master makefile, added runp scripts for...
jjenista [Mon, 25 Oct 2010 23:28:26 +0000 (23:28 +0000)]
OOO and RCR are speparate targets in the master makefile, added runp scripts for all benchmarks, time command included in runp's

14 years agofix bug w/ recycling + RCR
bdemsky [Mon, 25 Oct 2010 23:26:36 +0000 (23:26 +0000)]
fix bug w/ recycling + RCR

14 years agosupport for RCR and task record pool allocation
jjenista [Mon, 25 Oct 2010 23:20:53 +0000 (23:20 +0000)]
support for RCR and task record pool allocation

14 years agothis is a BUG, don't dereference the object pointer, blargh
jjenista [Mon, 25 Oct 2010 23:14:09 +0000 (23:14 +0000)]
this is a BUG, don't dereference the object pointer, blargh

14 years agoHack the compiler to support 'abstract' keyword for mgc version. Abstract classes...
jzhou [Mon, 25 Oct 2010 22:49:57 +0000 (22:49 +0000)]
Hack the compiler to support 'abstract' keyword for mgc version. Abstract classes/methods can be compiled but fully semantic check is not supported. Now we generate an empty method for each declared abstract method and do not check if the subclasses have implemented their inheried abstract methods.

14 years agoAdded necessary variable initializations
stephey [Mon, 25 Oct 2010 22:13:30 +0000 (22:13 +0000)]
Added necessary variable initializations

14 years agochanges: handle correctly the case when a coarse grain conflict is associated with...
yeom [Mon, 25 Oct 2010 22:04:28 +0000 (22:04 +0000)]
changes: handle correctly the case when a coarse grain conflict is associated with effects on different allocation sites.

14 years agomake the traversers do something
bdemsky [Mon, 25 Oct 2010 20:54:53 +0000 (20:54 +0000)]
make the traversers do something

14 years agoChanging OoOJava work scheduler to true work stealing, garbage collection can walk...
jjenista [Mon, 25 Oct 2010 20:09:31 +0000 (20:09 +0000)]
Changing OoOJava work scheduler to true work stealing, garbage collection can walk the deques used, changes to build code and workschedule are awesome because work stealing threads exit gracefully when system is out of work

14 years agoadded a debug option for deque
jjenista [Mon, 25 Oct 2010 20:05:39 +0000 (20:05 +0000)]
added a debug option for deque

14 years agobug fix in identifying leaf tasks
jjenista [Mon, 25 Oct 2010 18:58:03 +0000 (18:58 +0000)]
bug fix in identifying leaf tasks

14 years agoChanged method for marking possible resume cases. Now it only considers read conflicts.
stephey [Mon, 25 Oct 2010 08:32:27 +0000 (08:32 +0000)]
Changed method for marking possible resume cases. Now it only considers read conflicts.

14 years agoImproved heuristics for marking where resume cases are possible. Instead marking...
stephey [Mon, 25 Oct 2010 08:08:35 +0000 (08:08 +0000)]
Improved heuristics for marking where resume cases are possible. Instead marking every conflict as a possible resume case, it now only marks cases where there is a read conflict (which implies that there is a write somewhere else) or where there is an ancestor read conflict and a current conflict.

14 years agochanges
bdemsky [Mon, 25 Oct 2010 01:56:39 +0000 (01:56 +0000)]
changes

14 years agocleaned up some old code and comments
stephey [Sun, 24 Oct 2010 12:44:31 +0000 (12:44 +0000)]
cleaned up some old code and comments

14 years agobug fixes
bdemsky [Sun, 24 Oct 2010 08:56:28 +0000 (08:56 +0000)]
bug fixes

14 years agochanges...handle races between coarse and fine grained conflict resolution
bdemsky [Sun, 24 Oct 2010 08:36:22 +0000 (08:36 +0000)]
changes...handle races between coarse and fine grained conflict resolution

14 years ago+Made arrays inlineable
stephey [Sun, 24 Oct 2010 04:11:15 +0000 (04:11 +0000)]
+Made arrays inlineable
+Fields with multiple allocation sites are now handled with a switch statement.

14 years agoFixed bug (for reals this time) where there will be multiple traversals on the same...
stephey [Sat, 23 Oct 2010 23:03:37 +0000 (23:03 +0000)]
Fixed bug (for reals this time) where there will be multiple traversals on the same field. Turns out the .equals for ConcreteRuntimeObjNode was done incorrectly.

Working on next task:
+using switch statements for checking fields.
+Treating arrays the same as any field (inlinable)

14 years agoFixed bug where one edge is traversed multiple times even if it's the same allocsite...
stephey [Sat, 23 Oct 2010 22:09:50 +0000 (22:09 +0000)]
Fixed bug where one edge is traversed multiple times even if it's the same allocsite. Turns out, the .equals in allocsite did not compare their ID's.

Changes:

14 years agofixes to case in Test/rcr. Now the program seems to get stuck at sched_yield() which...
stephey [Sat, 23 Oct 2010 20:21:38 +0000 (20:21 +0000)]
fixes to case in Test/rcr. Now the program seems to get stuck at sched_yield() which I believe is not a component of RCR

14 years agoanother bad case
bdemsky [Sat, 23 Oct 2010 08:41:28 +0000 (08:41 +0000)]
another bad case

14 years agochanges
bdemsky [Sat, 23 Oct 2010 08:30:19 +0000 (08:30 +0000)]
changes

14 years agoanother bug fix
bdemsky [Sat, 23 Oct 2010 01:42:16 +0000 (01:42 +0000)]
another bug fix