yeom [Sat, 17 Jul 2010 18:58:33 +0000 (18:58 +0000)]
bug fix: previously assumed that all stalled tempDesc belongs to local struct, but it's wrong. It is better way to generate temp descriptor for parent stall site.
yeom [Sat, 17 Jul 2010 18:33:17 +0000 (18:33 +0000)]
incorporate Stephen's rewritten single threaded version.
jzhou [Sat, 17 Jul 2010 01:01:55 +0000 (01:01 +0000)]
Add the RayTracer benchmark for multicore gc
jzhou [Fri, 16 Jul 2010 23:04:47 +0000 (23:04 +0000)]
add the new benchmark fibheaps ported from the nobench for the multicore gc
yeom [Fri, 16 Jul 2010 05:58:23 +0000 (05:58 +0000)]
changes on labyrinth.
yeom [Fri, 16 Jul 2010 05:54:54 +0000 (05:54 +0000)]
fix: remove unnecessary conflict edge
+ better representation of conflict graph file
bdemsky [Thu, 15 Jul 2010 23:15:20 +0000 (23:15 +0000)]
make it easier to read
yeom [Thu, 15 Jul 2010 01:32:01 +0000 (01:32 +0000)]
add barneshut benchmark ported from Lonestar
jzhou [Wed, 14 Jul 2010 22:49:09 +0000 (22:49 +0000)]
Add benchmarks for multicore gc
yeom [Wed, 14 Jul 2010 01:40:23 +0000 (01:40 +0000)]
bug fix: memory queue has the case of empty rentry.
jzhou [Wed, 14 Jul 2010 00:20:52 +0000 (00:20 +0000)]
Add macros to control the memory allocation/cache/memory controller strategies in multicore gc version
bdemsky [Tue, 13 Jul 2010 09:17:43 +0000 (09:17 +0000)]
changes
jzhou [Fri, 9 Jul 2010 23:29:50 +0000 (23:29 +0000)]
Add flags to specify special hvc file for 1-core gc version
yeom [Fri, 9 Jul 2010 18:17:28 +0000 (18:17 +0000)]
adding micro benchmark for OoOJava.
yeom [Fri, 9 Jul 2010 18:00:46 +0000 (18:00 +0000)]
bug fix: prevent generating unnecessaary waiting queues for main method.
jzhou [Fri, 9 Jul 2010 00:15:16 +0000 (00:15 +0000)]
Fix the strategy for determination of when the gc mark phase is finished. In phase 2, check if the number of send-out objs and received objs have been changed compared to that in the phase 1. Also tuned the BAMBOO_SMEM_ZERO_UNIT_SIZE. Looks like 4KB is OK.
jzhou [Thu, 8 Jul 2010 21:48:02 +0000 (21:48 +0000)]
Change the local hashtable for recording the pointer mapping info used in the gc flush phase and make it more efficient. Basically never release allocated memory and use mask instead of modular for hash entry computation.
jzhou [Thu, 8 Jul 2010 01:43:15 +0000 (01:43 +0000)]
Change the zero out strategy for the shared memory. Do not zero out all the shared memory at a time. Each core will zero out the share memory chunk allocated to it when it gets the chunk from the master core. Therefore the zero out process is parallelized. Also do not zero out the whole chunk, instead, zero out only 4KB at a time when necessary so that there will not be much flush of L2 cache.
stephey [Wed, 7 Jul 2010 21:56:49 +0000 (21:56 +0000)]
public VariableNode getVariableNodeNoMutation( TempDescriptor td ) was added for client modules to access the Reachgraph after the analysis is done and no modifications are to be made by the client module.
jzhou [Wed, 7 Jul 2010 00:33:21 +0000 (00:33 +0000)]
Add a new shared memory allocation strategy: mixed mode. Comparing to the fixed mode, there are following differences: 1) the neighbours cores are extended to the cores that a core can reach in no more than 2 flips; 2) introduced a threshold--if the master core can not allocate the neighbour cores' shared memory chunks, it checks current shared memory usage rate, if greater than the threshold it will enable gc, otherwise it tries to allocate the shared memory globally for the request core.
jzhou [Tue, 6 Jul 2010 23:14:19 +0000 (23:14 +0000)]
Add a new shared memory allocation strategy: fixed mode. In this mode, the master core first allocates the 'local' shared memory chunks to each core. When there are no more 'local' shared memory chunks for a core, the master core tries to allocate shared memory chunks that are belonging to the core's neighbour cores. The priority of the neighbour cores are left-right-up-below. If the master core failed again, it enables GC.
jzhou [Fri, 2 Jul 2010 19:50:43 +0000 (19:50 +0000)]
set the shared mem as 16MB
jjenista [Fri, 2 Jul 2010 19:48:14 +0000 (19:48 +0000)]
some subtle reach state bug fixes uncovered by labyrinth benchmark, the benchmark compiles under ooojava and runs to completion now
jihoonl [Fri, 2 Jul 2010 02:30:30 +0000 (02:30 +0000)]
now it is working when only one machine left
jihoonl [Fri, 2 Jul 2010 02:19:58 +0000 (02:19 +0000)]
recovery done
yeom [Thu, 1 Jul 2010 17:54:34 +0000 (17:54 +0000)]
remove unnecessary files.
yeom [Thu, 1 Jul 2010 17:50:46 +0000 (17:50 +0000)]
bring benchmarks to OoOJava: raytracer, kmeans, power, labyrinth.
jihoonl [Thu, 1 Jul 2010 15:45:52 +0000 (15:45 +0000)]
change some bugs are fixed
bdemsky [Thu, 1 Jul 2010 08:21:00 +0000 (08:21 +0000)]
bug fixes and extensions
bdemsky [Thu, 1 Jul 2010 08:03:54 +0000 (08:03 +0000)]
plotall2
bdemsky [Thu, 1 Jul 2010 06:15:31 +0000 (06:15 +0000)]
add plotting scripts to cvs
bdemsky [Thu, 1 Jul 2010 06:14:21 +0000 (06:14 +0000)]
bug fix
yeom [Thu, 1 Jul 2010 04:50:00 +0000 (04:50 +0000)]
incorporated OoOJava into build code + fixed a couple of small bugs
jzhou [Thu, 1 Jul 2010 03:10:31 +0000 (03:10 +0000)]
Statically ping memory from the nearest memory controller on the cores
jjenista [Wed, 30 Jun 2010 18:51:43 +0000 (18:51 +0000)]
debugged the reach graph support for effect conflicts
jjenista [Wed, 30 Jun 2010 17:59:24 +0000 (17:59 +0000)]
implemented details to support effect conflict detection
bdemsky [Wed, 30 Jun 2010 01:30:53 +0000 (01:30 +0000)]
bug
yeom [Wed, 30 Jun 2010 01:01:31 +0000 (01:01 +0000)]
more changes according to new effect analysis
and set up debug features of OoOJava analysis
yeom [Tue, 29 Jun 2010 23:45:49 +0000 (23:45 +0000)]
changes according to new forms of effect analysis
jjenista [Tue, 29 Jun 2010 22:50:53 +0000 (22:50 +0000)]
tweak to interface
jjenista [Tue, 29 Jun 2010 22:11:27 +0000 (22:11 +0000)]
reachability query interface for ooojava heap conflict analysis added
jjenista [Tue, 29 Jun 2010 19:05:04 +0000 (19:05 +0000)]
getting close to effects for new disjoint analysis
jjenista [Tue, 29 Jun 2010 17:53:08 +0000 (17:53 +0000)]
little bug fix
yeom [Tue, 29 Jun 2010 17:05:53 +0000 (17:05 +0000)]
changes.
jjenista [Tue, 29 Jun 2010 00:15:15 +0000 (00:15 +0000)]
stall site critical regions implemented, including method calls and return values
adash [Mon, 28 Jun 2010 23:57:37 +0000 (23:57 +0000)]
changes for debugging
jjenista [Mon, 28 Jun 2010 22:21:43 +0000 (22:21 +0000)]
restate inaccessible vars for stall site so facts get joined properly
yeom [Mon, 28 Jun 2010 21:38:34 +0000 (21:38 +0000)]
new test case.
jjenista [Mon, 28 Jun 2010 21:28:00 +0000 (21:28 +0000)]
more effects bug fixes
jjenista [Mon, 28 Jun 2010 21:20:05 +0000 (21:20 +0000)]
bug fixes for effects analysis
bdemsky [Mon, 28 Jun 2010 21:19:46 +0000 (21:19 +0000)]
my changes
jjenista [Mon, 28 Jun 2010 19:09:49 +0000 (19:09 +0000)]
stall site taints propagate awesomely, get cleared off also
jjenista [Mon, 28 Jun 2010 18:44:51 +0000 (18:44 +0000)]
forgot to add moved files back in, injecting stall site taints now also
jjenista [Mon, 28 Jun 2010 18:00:35 +0000 (18:00 +0000)]
changed organization and brought in a few new pieces for new disjoint+ooojava
yeom [Mon, 28 Jun 2010 17:55:41 +0000 (17:55 +0000)]
changes.
yeom [Mon, 28 Jun 2010 17:52:17 +0000 (17:52 +0000)]
add more steps to OoO analysis
yeom [Sat, 26 Jun 2010 23:27:12 +0000 (23:27 +0000)]
working on the remaining procedures of OoOJava analysis.
jjenista [Sat, 26 Jun 2010 21:36:37 +0000 (21:36 +0000)]
Do effects as a global space, don't even need to consider call site transform, taints propagate interprocedurally and pick everything up, whoo hoo
jjenista [Sat, 26 Jun 2010 19:18:50 +0000 (19:18 +0000)]
both reach states and taints were not propagating to caller contexts with the correct caller-context predicates. They should get the caller context predicates from the pre-call-site state or taint that indicated they should be brought from the callee.
bdemsky [Fri, 25 Jun 2010 23:51:08 +0000 (23:51 +0000)]
more changes
bdemsky [Fri, 25 Jun 2010 23:16:32 +0000 (23:16 +0000)]
changes
jjenista [Fri, 25 Jun 2010 22:41:14 +0000 (22:41 +0000)]
getting effects analysis going, need a few more pieces before call site analysis will work
bdemsky [Fri, 25 Jun 2010 21:28:25 +0000 (21:28 +0000)]
print more data
bdemsky [Fri, 25 Jun 2010 20:05:43 +0000 (20:05 +0000)]
updates to transsim for journal submission
jjenista [Fri, 25 Jun 2010 18:59:20 +0000 (18:59 +0000)]
rblock effects dont collect over method call, but its close
jjenista [Fri, 25 Jun 2010 18:18:50 +0000 (18:18 +0000)]
analysis collects effects per method and interprocedurally
jzhou [Thu, 24 Jun 2010 23:50:43 +0000 (23:50 +0000)]
Capture the version with shared hash table for pointer mapping info required in the flush phase
jjenista [Thu, 24 Jun 2010 21:19:46 +0000 (21:19 +0000)]
bug fix, now interprocedural seems cool, unitl the next bug HA
jjenista [Thu, 24 Jun 2010 20:51:44 +0000 (20:51 +0000)]
taints tested, propagate interprocedurally
jjenista [Thu, 24 Jun 2010 18:15:37 +0000 (18:15 +0000)]
rblock in set vars get tainted on rblock enter and wiped at rblock exit, works nicely
jjenista [Thu, 24 Jun 2010 16:57:05 +0000 (16:57 +0000)]
just an interesting test case I never got around to checking in or exploring too much
yeom [Thu, 24 Jun 2010 16:52:25 +0000 (16:52 +0000)]
changes.
jjenista [Thu, 24 Jun 2010 00:21:36 +0000 (00:21 +0000)]
add rblock relation analysis and makefile aware of new analysis files
jjenista [Wed, 23 Jun 2010 23:57:55 +0000 (23:57 +0000)]
More pieces for new version of analysis
jihoonl [Wed, 23 Jun 2010 23:48:17 +0000 (23:48 +0000)]
debugging..
jihoonl [Wed, 23 Jun 2010 07:07:54 +0000 (07:07 +0000)]
chang
jihoonl [Wed, 23 Jun 2010 06:47:09 +0000 (06:47 +0000)]
change
yeom [Wed, 23 Jun 2010 02:58:27 +0000 (02:58 +0000)]
get set up part of the stall site analysis
jjenista [Wed, 23 Jun 2010 00:58:32 +0000 (00:58 +0000)]
Updated taint class to allow call site plus var taints as well
jjenista [Tue, 22 Jun 2010 23:21:03 +0000 (23:21 +0000)]
taints at reach graph level implemented
jjenista [Tue, 22 Jun 2010 21:40:01 +0000 (21:40 +0000)]
got the hooks in place to get taints for rblocks
yeom [Tue, 22 Jun 2010 20:46:56 +0000 (20:46 +0000)]
set up OoOJava analysis.
jjenista [Tue, 22 Jun 2010 18:37:39 +0000 (18:37 +0000)]
Getting taints to propagate in new analysis, no parameter taints, RBLOCK taints only
jihoonl [Tue, 22 Jun 2010 05:33:31 +0000 (05:33 +0000)]
change
jihoonl [Tue, 22 Jun 2010 04:09:44 +0000 (04:09 +0000)]
recovery..
still needs to fix
jzhou [Mon, 21 Jun 2010 21:37:28 +0000 (21:37 +0000)]
Capture the version with mapinfo phase
jjenista [Mon, 21 Jun 2010 21:32:26 +0000 (21:32 +0000)]
capturing partially implemented taints before altering implementation
stephey [Sat, 19 Jun 2010 00:17:29 +0000 (00:17 +0000)]
Forgot to include the makefile from the previous update.
stephey [Sat, 19 Jun 2010 00:15:30 +0000 (00:15 +0000)]
Adding Labyrinth3D files
in mlp, Normal_Java is a form of Labyrinth3D that can compile under normal Java.
in mlp, rBlocked is the rBlocked version that will compile with our compiler
NOTE: there seems to be a bug with make java in that the program skips right over rBlocks to print out statistics on the last part of the program EVEN THOUGH there are data dependencies. Yonghun suspects it's a bug in the compiler and will investigate over the weekend
in Original, Normal_Java is the original Labyrinth3D code with TM code removed and slightly modded to work with Normal Java.
jjenista [Thu, 17 Jun 2010 23:21:15 +0000 (23:21 +0000)]
taints working intraprocedurally, a bug in inter I'm working out now
jjenista [Thu, 17 Jun 2010 22:20:37 +0000 (22:20 +0000)]
getting parameter taints in new analysis
jjenista [Thu, 17 Jun 2010 21:15:23 +0000 (21:15 +0000)]
get partially set up new version of disjoint analysis with OoOJava analysis checked in to properly fix compiler and get yong hun in on the workspace
bdemsky [Wed, 16 Jun 2010 19:17:14 +0000 (19:17 +0000)]
Jim, could you check in the rest of disjointness so that this compiles?
This is a temporary fix to make the compiler work.
stephey [Wed, 16 Jun 2010 00:32:28 +0000 (00:32 +0000)]
Under Original/Normal_Java/ one would find the original Labyrinth project ported to Transactional Memory by Jihoon and reported to normal Java by Stephen Yang
Under mlp is the Labyrinth project modified with rblocks. Under mlp/Normal_Java is a version that can be compiled and run on the normal Java platform. Under rBlocked is the rBlocked version that SHOULD run under OoOJava compiler. Both of which are ported by Stephen Yang (from Jihoon's original port)
NOTE that at this point in time, the rBlocked version causes a NullPointerException in the OoOJava compiler but will compile and produce correct results under normal Java.
adash [Tue, 1 Jun 2010 17:42:05 +0000 (17:42 +0000)]
generate emails
jjenista [Thu, 27 May 2010 19:11:38 +0000 (19:11 +0000)]
porting effects analysis
jjenista [Wed, 26 May 2010 22:21:57 +0000 (22:21 +0000)]
porting effects analysis to new disjoint analysis
jjenista [Wed, 26 May 2010 17:33:04 +0000 (17:33 +0000)]
Can now use the rblock keyword instead of sese keyword to write OoOJava programs, but both work interchangeably so old programs are still fine
jjenista [Tue, 25 May 2010 23:18:54 +0000 (23:18 +0000)]
A nice example of using OoOJava to parallelize an algorithm that is much clearer than existing parallel implementations
bdemsky [Tue, 25 May 2010 22:15:53 +0000 (22:15 +0000)]
changes