jjenista [Fri, 1 Oct 2010 01:52:27 +0000 (01:52 +0000)]
for timing disjoint reachability in oooJava benchmarks
bdemsky [Wed, 29 Sep 2010 22:23:25 +0000 (22:23 +0000)]
various hacks...
clean up cases if we have duplicate...
bdemsky [Wed, 29 Sep 2010 21:03:54 +0000 (21:03 +0000)]
get rid of truncate macro...just stick it into the bit shifting...
jzhou [Wed, 29 Sep 2010 00:15:56 +0000 (00:15 +0000)]
Clean up the code
jzhou [Tue, 28 Sep 2010 18:18:33 +0000 (18:18 +0000)]
Clean up the code: clean up debug msgs
jjenista [Tue, 28 Sep 2010 18:03:51 +0000 (18:03 +0000)]
names
jjenista [Mon, 27 Sep 2010 22:03:37 +0000 (22:03 +0000)]
buildscript options to enable exaclty which coreprof events are needed, keeps instrumentation overhead at minimum, will help for new events to imrpove SOR
jjenista [Mon, 27 Sep 2010 22:02:05 +0000 (22:02 +0000)]
bug fix, new events
stephey [Sun, 26 Sep 2010 05:44:16 +0000 (05:44 +0000)]
Tested and Debugged versions of waitingQueue for the hashStructure.
stephey [Sun, 26 Sep 2010 05:39:52 +0000 (05:39 +0000)]
Changes
stephey [Sun, 26 Sep 2010 05:22:59 +0000 (05:22 +0000)]
removed locking for waitingQueue add since it's not really needed.
stephey [Sun, 26 Sep 2010 05:08:24 +0000 (05:08 +0000)]
WaitingQueue Correctness tests for RCR. FAKE mlp_lock.* and RuntimeConflictResolver.* are included so that the waitingQueue can be tested without compiling/including the rest of the project
jjenista [Fri, 24 Sep 2010 23:44:38 +0000 (23:44 +0000)]
found a bug, wasn't returning pointer at end of poolcreate--pool allocation doesn't seem to improve SOR speedup
jzhou [Fri, 24 Sep 2010 22:59:23 +0000 (22:59 +0000)]
Clean up the code: remove commented code
jjenista [Fri, 24 Sep 2010 19:48:00 +0000 (19:48 +0000)]
there is definitely an uninitialized mem bug, temp fix is to zero allocated task records, however even with workaround pool allocation crashes SOR
jjenista [Fri, 24 Sep 2010 19:30:05 +0000 (19:30 +0000)]
some outstanding mods to coreprof parsing
jjenista [Thu, 23 Sep 2010 23:54:19 +0000 (23:54 +0000)]
working on task mem pool, there is a crash bug, use -ooodebug-disable-task-mem-pool if you want to run OoOJava programs for the time being
jjenista [Thu, 23 Sep 2010 19:17:12 +0000 (19:17 +0000)]
while working on memory pool for task records, fixed bug where mem Q hashtable entries had to wait for pointer value but used the wrong object id (oid)
jjenista [Thu, 23 Sep 2010 19:07:50 +0000 (19:07 +0000)]
use buildscript option to give benchmarks enough heap memory
jjenista [Thu, 23 Sep 2010 19:06:54 +0000 (19:06 +0000)]
support for optimizations later, leaf tasks need less data
jzhou [Thu, 23 Sep 2010 00:25:13 +0000 (00:25 +0000)]
bug fix in gc cache adaption
jzhou [Wed, 22 Sep 2010 18:55:18 +0000 (18:55 +0000)]
bug fix
stephey [Wed, 22 Sep 2010 11:55:29 +0000 (11:55 +0000)]
Added getter method to get all effects (needed for RuntimeConflictResolver.java)
stephey [Wed, 22 Sep 2010 11:49:24 +0000 (11:49 +0000)]
This version prints out correct C code in terms of where things should be but is only tested on the simplest case. Will try more cases later.
Note: BuildCode.java was also modified to make this work but is not committed since it's only half changed (no stallsite code).
bdemsky [Wed, 22 Sep 2010 02:29:13 +0000 (02:29 +0000)]
fix bugs
bdemsky [Wed, 22 Sep 2010 02:26:03 +0000 (02:26 +0000)]
optimiz
jjenista [Tue, 21 Sep 2010 22:13:53 +0000 (22:13 +0000)]
turn off coreprof by default
jzhou [Tue, 21 Sep 2010 22:08:15 +0000 (22:08 +0000)]
fix performance bug
jzhou [Tue, 21 Sep 2010 21:46:12 +0000 (21:46 +0000)]
my changes
jjenista [Tue, 21 Sep 2010 21:30:47 +0000 (21:30 +0000)]
an appropriate test to simulate SOR for new pool allocation
jjenista [Tue, 21 Sep 2010 21:29:11 +0000 (21:29 +0000)]
disable coreprof by default
jjenista [Tue, 21 Sep 2010 21:28:39 +0000 (21:28 +0000)]
help user by showing human-readable task identifier
bdemsky [Tue, 21 Sep 2010 21:23:12 +0000 (21:23 +0000)]
changes
jzhou [Tue, 21 Sep 2010 03:59:30 +0000 (03:59 +0000)]
Bug fix in gc cache adaption version
jzhou [Mon, 20 Sep 2010 00:37:27 +0000 (00:37 +0000)]
Remove the boundary of cache access sampling. Add output of the changed cache policy of the shared pages. Also fix some bugs.
jzhou [Sat, 18 Sep 2010 20:08:58 +0000 (20:08 +0000)]
Initial version of cache adaption for mutator
jjenista [Thu, 16 Sep 2010 21:54:42 +0000 (21:54 +0000)]
modularize core prof correctly, starting mem pool strat for task records
jjenista [Thu, 16 Sep 2010 21:53:40 +0000 (21:53 +0000)]
mini test to mimic SOR for mem pool testing
jjenista [Thu, 16 Sep 2010 18:11:14 +0000 (18:11 +0000)]
temporarily disabling this coreprof event, it appears to have a significant impact compared to system overhead, only put back in when we really need it
jzhou [Thu, 16 Sep 2010 00:04:23 +0000 (00:04 +0000)]
Make the statistic data for cache adaption irrelavent with the timer counter. Use smaller page for cache adaption version. Also make the cache policy decision modular
jzhou [Wed, 15 Sep 2010 22:38:32 +0000 (22:38 +0000)]
Add code for change the cache policy for the mutator. In each round of gc, decide the new policy for each page according to the gathered statistic data and adapt the new policies right before finishing gc.
jjenista [Wed, 15 Sep 2010 21:16:05 +0000 (21:16 +0000)]
this micro benchmark does not accurately imitate OOOjava, just checking in current code for possible reuse later
jjenista [Sun, 12 Sep 2010 21:23:31 +0000 (21:23 +0000)]
a self-contained test of the mempool strategy, doesnt seem promising yet
stephey [Sat, 11 Sep 2010 01:37:47 +0000 (01:37 +0000)]
Work In Progress Commit.
Added logic that will print out when traverser needs to look in waitingQueue/HashStructure. Separated enumeration of heaproots and printing of C methods (for the very end). Added TEMP functions that will create an array of HashStructures to simulate threadlocal variables (so that it's easier to debug)
Next Steps: Modify and Complete C-side. Test/Debug C-side. Connected both sides. Test/Debug both sides together.
Next Next Step: Work with Jim/YongHun to integrate RCR into main project.
jjenista [Fri, 10 Sep 2010 19:44:57 +0000 (19:44 +0000)]
change parser to match runtime changes, still some kooky issue where child events appear to take infinity perfent of parent sometimes, strange
jjenista [Fri, 10 Sep 2010 19:44:11 +0000 (19:44 +0000)]
task execute, dispatch, reture and work grabbing events debugged
stephey [Fri, 10 Sep 2010 10:01:11 +0000 (10:01 +0000)]
Work In Progress Commit.
Added supporting data structures and logic for keeping track of what needs to be entered into a waitingQueue upon 'stopping' the traverser. Need to write code that spits out the correct C-code with waitingQueue stuff (halfway done)
Next steps: Do the above, separate the enumeration of heaproots and printing of C-methods until the very end, and modify/write C-side stuff to correctly respond to the generated calls.
stephey [Thu, 9 Sep 2010 01:38:32 +0000 (01:38 +0000)]
Added logic for determining weakly connected groups of Heaproots and changed traverser invocation/generation method header to support resuming traversal from predefined points (incomplete, still need to modify addChecker to take advantage of the new header).
jjenista [Wed, 8 Sep 2010 22:46:11 +0000 (22:46 +0000)]
Changed parsing of coreprof data to keep parent/child event relationships, breaks parent into percentage spent in each child
stephey [Wed, 8 Sep 2010 22:39:34 +0000 (22:39 +0000)]
Jim told me to change the int hashCodeSpecific() function to return id.hashCode() instead of id itself.
jjenista [Tue, 7 Sep 2010 19:47:04 +0000 (19:47 +0000)]
Changed coreprof macros to match coreprof.h, altered output to print self-time as a percentage of total time.
jjenista [Tue, 7 Sep 2010 19:40:31 +0000 (19:40 +0000)]
Several changes:
-Can control space allocated for coreprof events with a buildscript option.
-Attempted to exit ooojava worker threads gracefully with pthread_cleanup_XXX
and pthread_cancel in asynchronous mode. Cleanup doesn't trigger from asynch
cancel, so this doesn't do the trick. The reason this is nice is that COREPROF_EXIT
is never called by worker threads, so the timestamp of the MAIN duration is being
fudged by using the last timestamp of a sub event. If we wanted to add more
interesting functionality to COREPROF_EXIT we can't use the workaround and we'll
have to revisit this--left the commented pthread code as a starting point for later.
-Adjusted event IDs and the baseshift so same number of bits are used, but
it is easier to look at the coreprof output file in a hex editor to visually
inspect the raw data, for debugging.
jjenista [Tue, 7 Sep 2010 19:32:34 +0000 (19:32 +0000)]
a test case for shutting down ooojava work threads gracefully
stephey [Fri, 3 Sep 2010 01:54:09 +0000 (01:54 +0000)]
Added some extra logic for rehashing all effects by allocsite and (incomplete) logic to assing heap region #'s for weakly connected groups.
jzhou [Thu, 2 Sep 2010 22:59:29 +0000 (22:59 +0000)]
remove unnecessary dtlb flush
jzhou [Thu, 2 Sep 2010 18:57:58 +0000 (18:57 +0000)]
Fix the 'markbit' bug of cache-adapt multicoregc version. In the compact phase, some cores might need to move some local objects to some other remote cores. There could be cache incoherent problem caused by the mark bit. To fix it, in the mark phase, whenever the mark bit is changed, flush it to the main memory and after the mark phase is finished add a 'barrier' before starting the compact phase
jzhou [Thu, 2 Sep 2010 17:04:11 +0000 (17:04 +0000)]
Clean multicore version code
stephey [Thu, 2 Sep 2010 06:50:13 +0000 (06:50 +0000)]
Quick Change: Moved some misplaced comments.
stephey [Thu, 2 Sep 2010 06:41:30 +0000 (06:41 +0000)]
Contains first sketch of waiting queue logic. The WaitingQueue struct will be removed in the future and the array be integrated into the Hashtable.
jzhou [Thu, 2 Sep 2010 00:47:44 +0000 (00:47 +0000)]
Add code for GC_CACHE_ADAPT version. Now the 61-1gc version works for RayTracer. Currently only change to use local caching for gc. Will work on cache adaption for mutator's execution based on sampling statistics
stephey [Wed, 1 Sep 2010 02:31:06 +0000 (02:31 +0000)]
Very, very rough draft of the hash structure to be used in the upcomming version of RuntimeConflictResolver. Only includes add logic that has not been finalized yet.
jjenista [Thu, 26 Aug 2010 18:51:55 +0000 (18:51 +0000)]
convenient run script
jjenista [Thu, 26 Aug 2010 16:16:40 +0000 (16:16 +0000)]
a makefile if desired
jzhou [Sat, 21 Aug 2010 00:20:34 +0000 (00:20 +0000)]
Fix a performance bug in the multicore gc version. In hvc files, should not reserve more than 16M for a core's stack+heap. Otherwise the performance would be greatly affected. It is because that all the reserved memory in hvc files will take *wired* DTLB entries. The more these entries are reserved, the less entries the program can use for other memory and thus the more DTLB miss would happen during execution. Also fixed some small bugs that break non-gc version and add codes for DTLB flushing
stephey [Wed, 18 Aug 2010 17:56:10 +0000 (17:56 +0000)]
Split debug flag for Java/C sides. Added logic to prevent duplicate traverse invocations to be processed/generated. Added support for StallSite invocations. Fixed logic for case: generation for c-side. Fixed logic for propogating conflict flags in the event of a revisited node. Updated method for generating csideinvocations.
stephey [Wed, 18 Aug 2010 17:49:48 +0000 (17:49 +0000)]
Added StallSite RuntimeConflictResolver invocations. Placed RCR c-side init code in correct position. Added Guards to .dot debug printouts for RCR.
stephey [Wed, 18 Aug 2010 02:09:28 +0000 (02:09 +0000)]
Changed variable type to make more compatible with RCR
yeom [Tue, 17 Aug 2010 22:33:42 +0000 (22:33 +0000)]
fix wrong condition.
If one is coarse and others are fine item from same sese, just enqueue scc instead.
stephey [Tue, 17 Aug 2010 06:55:33 +0000 (06:55 +0000)]
Changed the way conflict flags are propagated (fixed infinite loops, for reals this time). Removed extraneous code. Added tentative stallsite code.
stephey [Tue, 17 Aug 2010 03:26:12 +0000 (03:26 +0000)]
Fixed bug of ignoring multiple effects for same alloc/field effect. Removed ! before checking hash in C.
jzhou [Mon, 16 Aug 2010 23:59:25 +0000 (23:59 +0000)]
Recent code changes: remove redundant code/comment and format the code a little bit
jjenista [Mon, 16 Aug 2010 23:03:10 +0000 (23:03 +0000)]
back out change to separate event type and timestamp streams, one stream supports future variable-length event data easily
jjenista [Mon, 16 Aug 2010 21:35:34 +0000 (21:35 +0000)]
checking bug fix for memory queue, the jury is still out on the formal verification of this fix
jjenista [Mon, 16 Aug 2010 19:15:26 +0000 (19:15 +0000)]
change garbage.c initial heap size to a macro, configurable with a new buildscript option
stephey [Sat, 14 Aug 2010 01:32:09 +0000 (01:32 +0000)]
Changes. Contains bug where not all effects are saved into datastructure; checkin to create checkpoint to restore to if bugfix fails.
yeom [Fri, 13 Aug 2010 02:46:16 +0000 (02:46 +0000)]
changes. add coarse case into our previous changes that we did for SOR benchmarks.
stephey [Fri, 13 Aug 2010 00:28:09 +0000 (00:28 +0000)]
Temporarily integrates Runtime Conflict Resolution into buildCode and runtime with -rcr flag
stephey [Thu, 12 Aug 2010 23:34:02 +0000 (23:34 +0000)]
fixed some include bugs
stephey [Thu, 12 Aug 2010 09:28:25 +0000 (09:28 +0000)]
Added Changes requested by Jim. Fixed problem of infinite loop when reachGraph contains cycles. Fixed counter for parents with conflicts. Attempted to make methods with no traveral simply put a return (failed, will try again tomorrow). Builds Headerfile with guard. Correctly finds supplementry header files.
stephey [Wed, 11 Aug 2010 02:54:30 +0000 (02:54 +0000)]
Generates syntatically correct code but appears to have problems with nesting multiple if statements (pushing processing into parent). Works fine if only pushing only 1 child into parent.
jjenista [Wed, 11 Aug 2010 00:54:44 +0000 (00:54 +0000)]
fix sese garbage collection bug calculating offsets to dependent sese pointers
jjenista [Tue, 10 Aug 2010 23:36:31 +0000 (23:36 +0000)]
Some tests that are helping with SESE garbage collection, incidentally the mlp regression test defeats our current ooo java runtime as well, gotta track that down some day
stephey [Tue, 10 Aug 2010 00:39:06 +0000 (00:39 +0000)]
Mostly works, but has bug of not checking primative types for conflicts
jjenista [Mon, 9 Aug 2010 22:20:53 +0000 (22:20 +0000)]
did something I shouldnt have, mixed changes for two different projects at once, hard to back out now so heres a commit and ill physically check with everyone for immediate broken environemnts. change 1, updating the coreprof system, in progress but stable for anyone not using coreprof and change 2, add an allocsite field to Objects in generated c code that is populated at allocation, stephen can use it, and maybe future ooojava subsystems, to tell what site an object was allocated at
yeom [Mon, 9 Aug 2010 21:46:34 +0000 (21:46 +0000)]
fix to handle stall site properly for generating conflicts effect set.
yeom [Fri, 6 Aug 2010 18:29:53 +0000 (18:29 +0000)]
interface to grab the conflict effect set for Stephen,
yeom [Fri, 6 Aug 2010 16:59:51 +0000 (16:59 +0000)]
changes to have proper path of coreprof.h
yeom [Fri, 6 Aug 2010 00:11:51 +0000 (00:11 +0000)]
introduces new flag for runtime conflict resolver.
stephey [Thu, 5 Aug 2010 23:17:23 +0000 (23:17 +0000)]
Completed version before tying in with system and debug
yeom [Thu, 5 Aug 2010 20:27:12 +0000 (20:27 +0000)]
fixes on FlatWriteDynamicVarNode to handle properly branch node.
yeom [Thu, 5 Aug 2010 20:26:07 +0000 (20:26 +0000)]
fixes on tracking benchmark.
jzhou [Thu, 5 Aug 2010 18:36:08 +0000 (18:36 +0000)]
Fix bug in multicore gc: the master core should send msgs to all the other cores and tell them to stop for gc as soon as it finds that there is no more shared memory
jzhou [Thu, 5 Aug 2010 18:33:41 +0000 (18:33 +0000)]
fix some bug found by Yonghun
stephey [Thu, 5 Aug 2010 00:20:26 +0000 (00:20 +0000)]
Changes.
jjenista [Wed, 4 Aug 2010 18:12:20 +0000 (18:12 +0000)]
document OOOJava and Disjoint options
yeom [Tue, 3 Aug 2010 18:47:33 +0000 (18:47 +0000)]
polish source code + last changes.
yeom [Tue, 3 Aug 2010 18:03:23 +0000 (18:03 +0000)]
polish source code and add test data
yeom [Tue, 3 Aug 2010 17:50:30 +0000 (17:50 +0000)]
last changes to power benchmark
bdemsky [Tue, 3 Aug 2010 09:50:03 +0000 (09:50 +0000)]
do subtraction
bdemsky [Tue, 3 Aug 2010 09:46:00 +0000 (09:46 +0000)]
bug fixes for coreprof