yeom [Sun, 14 Nov 2010 01:53:05 +0000 (01:53 +0000)]
fix: had a bug when one coarse entry handles more than one parameter conflicts
yeom [Sat, 13 Nov 2010 18:09:28 +0000 (18:09 +0000)]
moldyn: increases workload per parallel task
mergesort: provides its own makefile to tune the number of worker
yeom [Sat, 13 Nov 2010 06:11:43 +0000 (06:11 +0000)]
BuildCode.java: removes (1) the calls to build a traverser thread (2) the calls to enqueueTR when SESE only has empty traversers.
FlatSESEEnterNode.java CallGraph.java, RblockRelationAnalysis.java: maintains additional DS having a set of SESE that is the first reachable SESE from the current SESE through transitive method invocations
RuntimeConflictResolver.java : add helper function that checks if the given SESE only has empty traversers.
yeom [Sat, 13 Nov 2010 04:07:38 +0000 (04:07 +0000)]
removes unnecessary LOCKXCHG operation to optimize.
yeom [Sat, 13 Nov 2010 04:06:40 +0000 (04:06 +0000)]
fixes on hashStructure : when parent bin is ready, it should not be inserted to the table.
yeom [Fri, 12 Nov 2010 22:09:41 +0000 (22:09 +0000)]
changes on KMeans: remove System.exit(). It caused a forced termination so it couldn't generate coreprof data
yeom [Fri, 12 Nov 2010 21:30:41 +0000 (21:30 +0000)]
fix: retireHashTable clears its own readbin out of order first, and then iterates over bin array to resolve the rest of them.
stephey [Fri, 12 Nov 2010 06:02:22 +0000 (06:02 +0000)]
Added a generated labyrinth input file that provides a big win for RCR by inverting the grid dimentions so that RCR does less checks. Should be as valid as random-x512-y512-z7-n512.txt since a 512x512x7 grid can be treated as a 7x512x512 or 512x7x512 grid. Averaged running times: Single-3m:53s, ooo-41s, rcr-30s
yeom [Fri, 12 Nov 2010 02:38:19 +0000 (02:38 +0000)]
changes on MolDyn: increases workload and re-arranges unnecessary stall sites.
yeom [Fri, 12 Nov 2010 00:56:40 +0000 (00:56 +0000)]
changes: generates WT_BIN_CASE only in the case that the read effect has downstream conflicts.
jjenista [Thu, 11 Nov 2010 18:38:14 +0000 (18:38 +0000)]
display elapsed time to help choose plot parameters and add arrow heads, remove palette mode for line colors
yeom [Thu, 11 Nov 2010 04:13:16 +0000 (04:13 +0000)]
check rcrstatus before invoking the following traversals since the granularity of rctstatus is a task
yeom [Thu, 11 Nov 2010 04:02:46 +0000 (04:02 +0000)]
index field of rentry is only for RCR, add guard condition to accessing index field.
jjenista [Thu, 11 Nov 2010 01:35:46 +0000 (01:35 +0000)]
have to consider an empty, ready read bin in front of you if you are inserting a write bin
jjenista [Wed, 10 Nov 2010 23:41:08 +0000 (23:41 +0000)]
coreprof in RCR, just one event for now showing begin and end of traverse call
jjenista [Wed, 10 Nov 2010 23:16:07 +0000 (23:16 +0000)]
poolalloc with no poolfree should be benign, but it causes wacky behavior in moldyn. It could just be altering the timing and exposing a latent bug, but for now lets go back to strict MALLOC
jjenista [Wed, 10 Nov 2010 22:36:04 +0000 (22:36 +0000)]
back out pool alloc for now, fix it right when its clear we need it
stephey [Wed, 10 Nov 2010 22:25:36 +0000 (22:25 +0000)]
Added build output to include Weakly Connected Heaproots and their IDs (Note: IDs correspond to which hashtable the heaproots will be inserting thier effects into). Introduced more debug printout guards to help clean up the overflow of output that we had before.
jjenista [Wed, 10 Nov 2010 21:53:23 +0000 (21:53 +0000)]
pool allocate RCR obj-conflict hash table bin items
stephey [Wed, 10 Nov 2010 21:39:36 +0000 (21:39 +0000)]
Fixed grouping of weakly connected heaproots and removed yucky hacks. Previous version did not iterate through the entire list of connected heaproots when forming a group out of them.
jjenista [Wed, 10 Nov 2010 19:57:59 +0000 (19:57 +0000)]
until weakly connected components are fixed, always use hashtable zero
jjenista [Wed, 10 Nov 2010 18:04:43 +0000 (18:04 +0000)]
some new events
jjenista [Wed, 10 Nov 2010 18:03:21 +0000 (18:03 +0000)]
run script
bdemsky [Wed, 10 Nov 2010 02:03:34 +0000 (02:03 +0000)]
be more careful about moving check...could break stuff in the future accidentally if we do this...
jjenista [Wed, 10 Nov 2010 01:54:13 +0000 (01:54 +0000)]
temporary workaround for weakly-connected components detection bug in task params for rcr traversal
jjenista [Wed, 10 Nov 2010 00:18:40 +0000 (00:18 +0000)]
coreprof events, RCR stuff will be online onyl after rcr threads register with coreprof
jjenista [Wed, 10 Nov 2010 00:00:07 +0000 (00:00 +0000)]
alter RCR params, remove unused macro
jjenista [Tue, 9 Nov 2010 22:19:29 +0000 (22:19 +0000)]
no need to add one worker thread, let end user decide
jjenista [Tue, 9 Nov 2010 22:19:02 +0000 (22:19 +0000)]
bug fix, was releasing references a little too early
jjenista [Tue, 9 Nov 2010 22:18:24 +0000 (22:18 +0000)]
use squeue by default, rcr should use 23 cores, 24th core will be a traverser
jjenista [Tue, 9 Nov 2010 17:50:52 +0000 (17:50 +0000)]
some more runr scripts and a little script to clean all benchmarks out
bdemsky [Tue, 9 Nov 2010 09:07:43 +0000 (09:07 +0000)]
changes
bdemsky [Tue, 9 Nov 2010 07:48:19 +0000 (07:48 +0000)]
nasty bug...have to make sure we don't free a task record before it clears the memory queue....otherwise the queue could affect the reused task record
bdemsky [Tue, 9 Nov 2010 06:20:41 +0000 (06:20 +0000)]
changes
bdemsky [Tue, 9 Nov 2010 03:59:35 +0000 (03:59 +0000)]
(1) make type of memPool more precise...
(2) bug fix in BuildCode
jjenista [Tue, 9 Nov 2010 02:29:14 +0000 (02:29 +0000)]
generated traversers already release
jjenista [Tue, 9 Nov 2010 02:28:26 +0000 (02:28 +0000)]
pruning unneeded fields
jjenista [Tue, 9 Nov 2010 02:25:37 +0000 (02:25 +0000)]
just an explanation of LOCKXCH
jjenista [Tue, 9 Nov 2010 02:24:06 +0000 (02:24 +0000)]
bug fixes in logic
jjenista [Tue, 9 Nov 2010 02:23:05 +0000 (02:23 +0000)]
reorganize stall code
yeom [Tue, 9 Nov 2010 00:42:52 +0000 (00:42 +0000)]
changes on rcr stall site generation
yeom [Mon, 8 Nov 2010 21:04:11 +0000 (21:04 +0000)]
do not generate enqueueTR for the main method
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
bdemsky [Mon, 8 Nov 2010 08:21:38 +0000 (08:21 +0000)]
fix bug
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
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.
yeom [Fri, 5 Nov 2010 20:59:46 +0000 (20:59 +0000)]
changes: don't need to have resolvePointer opr for coarse cases.
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.
bdemsky [Fri, 5 Nov 2010 19:24:29 +0000 (19:24 +0000)]
doesn't make sense for us to need a barrier here...
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
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
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
jjenista [Fri, 5 Nov 2010 17:28:45 +0000 (17:28 +0000)]
convenient, add makefile to list of dependencies for executable targets
bdemsky [Fri, 5 Nov 2010 16:59:16 +0000 (16:59 +0000)]
change
bdemsky [Fri, 5 Nov 2010 16:55:25 +0000 (16:55 +0000)]
another bug fix
bdemsky [Fri, 5 Nov 2010 16:42:04 +0000 (16:42 +0000)]
bug fix
bdemsky [Fri, 5 Nov 2010 16:29:21 +0000 (16:29 +0000)]
bug fixes
bdemsky [Fri, 5 Nov 2010 15:54:33 +0000 (15:54 +0000)]
changes
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
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
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)
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
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...
jjenista [Wed, 3 Nov 2010 20:49:22 +0000 (20:49 +0000)]
update targets so dependence on source files is recognized
jjenista [Wed, 3 Nov 2010 17:22:28 +0000 (17:22 +0000)]
conveniences for RCR
bdemsky [Wed, 3 Nov 2010 12:44:05 +0000 (12:44 +0000)]
changes
bdemsky [Wed, 3 Nov 2010 10:52:58 +0000 (10:52 +0000)]
bug
bdemsky [Wed, 3 Nov 2010 10:45:03 +0000 (10:45 +0000)]
make sure 1 is long long...other bug fix
bdemsky [Wed, 3 Nov 2010 10:35:16 +0000 (10:35 +0000)]
code changes
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.
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
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.
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
bdemsky [Tue, 2 Nov 2010 14:47:20 +0000 (14:47 +0000)]
update trace to dump out gnuplot plots
bdemsky [Tue, 2 Nov 2010 12:21:55 +0000 (12:21 +0000)]
fix so that profiling doesn't throw an error
jjenista [Tue, 2 Nov 2010 02:56:14 +0000 (02:56 +0000)]
have coreprof plot events
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.
stephey [Tue, 2 Nov 2010 00:33:34 +0000 (00:33 +0000)]
Forgot to take out debug comments.
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.
yeom [Mon, 1 Nov 2010 22:43:01 +0000 (22:43 +0000)]
updates on master-makefile of oooJava: generates a separate rcr executable file.
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
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
jjenista [Mon, 1 Nov 2010 18:29:40 +0000 (18:29 +0000)]
update poolcreate args for deque version as well
bdemsky [Mon, 1 Nov 2010 09:31:40 +0000 (09:31 +0000)]
clean stuff up a little
bdemsky [Mon, 1 Nov 2010 09:18:04 +0000 (09:18 +0000)]
convert CAS -> XCHG when possible....no retry necessary this way
bdemsky [Mon, 1 Nov 2010 09:04:24 +0000 (09:04 +0000)]
bug
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.
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)
stephey [Sat, 30 Oct 2010 07:15:47 +0000 (07:15 +0000)]
Fixed:
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
jjenista [Fri, 29 Oct 2010 18:29:48 +0000 (18:29 +0000)]
for original thread to become worker zero
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
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
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
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.
bdemsky [Thu, 28 Oct 2010 22:07:14 +0000 (22:07 +0000)]
simplify the program...still crashes
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.
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
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.
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