Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EclipseLink/Examples/JPA/Simulation"

m (Data Model)
m
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Simulation JPA Application Example=
+
<!--=Simulation JPA Application Example=
 
<div style="border: 3px red solid;" align="center" ><font color="red">DISCLAIMER: This page reflects investigation into how EclipseLink technology can used as part of - or benefit from integration with other projects. It does NOT imply any formal certification from EclipseLink on these technologies or make any assumptions on the direction of the API.  This page is purely experimental speculation.</font></div>  
 
<div style="border: 3px red solid;" align="center" ><font color="red">DISCLAIMER: This page reflects investigation into how EclipseLink technology can used as part of - or benefit from integration with other projects. It does NOT imply any formal certification from EclipseLink on these technologies or make any assumptions on the direction of the API.  This page is purely experimental speculation.</font></div>  
 
==Purpose==
 
==Purpose==
Line 61: Line 61:
 
====JPA Data Model====
 
====JPA Data Model====
 
===Hardware===
 
===Hardware===
====Prototype 3 Dimensional Hypercube====
+
====Block Diagrams====
 +
=====Prototype Three Dimensional Hypercube=====
 
*The following diagram illustrates via block diagram the layout of a prototype 3 dimensional hypercube architecture at the bottom hardware end of the implementation stack where '''[http://www.eclipselink.org EclipseLink]''' acts as the '''ORM''' persistence layer for both the design and runtime parts of the system.
 
*The following diagram illustrates via block diagram the layout of a prototype 3 dimensional hypercube architecture at the bottom hardware end of the implementation stack where '''[http://www.eclipselink.org EclipseLink]''' acts as the '''ORM''' persistence layer for both the design and runtime parts of the system.
  
 
[[Image:Prop_3hypercube.jpg]]
 
[[Image:Prop_3hypercube.jpg]]
====Prototype 2 Dimensional SIMD Array====
+
=====Prototype Planar SIMD Array=====
 
*The following diagrams discuss design issues surrounding a 2 dimensional array of processing module cores - their layout, connection topology and synchronization protocols.
 
*The following diagrams discuss design issues surrounding a 2 dimensional array of processing module cores - their layout, connection topology and synchronization protocols.
=====Design Issue 1: Minimizing Inter-module Connections=====
+
======Design Issue 1: Minimizing Inter-module Connections======
 
*The following 2 x 8 layout of 2 chips of 8 cores forming a 16 core module is ''not optimum''.
 
*The following 2 x 8 layout of 2 chips of 8 cores forming a 16 core module is ''not optimum''.
 
[[Image:PropCAS_16core_module_suboptimum_2x8_config_v20100907.jpg]]
 
[[Image:PropCAS_16core_module_suboptimum_2x8_config_v20100907.jpg]]
Line 74: Line 75:
 
*We can reduce the 8 connection paths to 4 by ''reusing'' the corner values of the '''NEWS''' primary connectors - which is only required for the incoming connections - not the outgoing ones.
 
*We can reduce the 8 connection paths to 4 by ''reusing'' the corner values of the '''NEWS''' primary connectors - which is only required for the incoming connections - not the outgoing ones.
 
[[Image:PropCAS_16core_module_ext_connect_block_v20100907.jpg]]
 
[[Image:PropCAS_16core_module_ext_connect_block_v20100907.jpg]]
 +
 +
====Schematics====
  
 
==Implementation==
 
==Implementation==
===Business Logic Client===
+
===Software===
===Schema Model===
+
====Business Logic Client====
====Board.java====
+
====Schema Model====
 +
=====Board.java=====
 
<source lang="java">
 
<source lang="java">
 
@Entity
 
@Entity
Line 120: Line 124:
  
 
</source>
 
</source>
====Chip.java====
+
=====Chip.java=====
 
<source lang="java">
 
<source lang="java">
 
@MappedSuperclass
 
@MappedSuperclass
Line 144: Line 148:
 
     private Board board;
 
     private Board board;
 
</source>
 
</source>
====Hypercube.java====
+
=====Hypercube.java=====
 
<source lang="java">
 
<source lang="java">
 
@Entity
 
@Entity
Line 174: Line 178:
 
     }
 
     }
 
</source>
 
</source>
====Processor.java====
+
=====Processor.java=====
 
<source lang="java">
 
<source lang="java">
 
@MappedSuperclass
 
@MappedSuperclass
Line 191: Line 195:
 
     private Integer id;
 
     private Integer id;
 
</source>
 
</source>
====ProcessorChip.java====
+
=====ProcessorChip.java=====
 
<source lang="java">
 
<source lang="java">
 
@Entity
 
@Entity
Line 222: Line 226:
 
</source>
 
</source>
  
====Quadrant.java====
+
=====Quadrant.java=====
 
<source lang="java">
 
<source lang="java">
 
@Entity
 
@Entity
Line 260: Line 264:
 
     }
 
     }
 
</source>
 
</source>
====VectorProcessor.java====
+
=====VectorProcessor.java=====
 
<source lang="java">
 
<source lang="java">
 
@Entity
 
@Entity
Line 273: Line 277:
 
</source>
 
</source>
  
====CM2Console.java====
+
=====CM2Console.java=====
 
*This is a minimum Java SE JPA client
 
*This is a minimum Java SE JPA client
  
Line 466: Line 470:
 
</source>
 
</source>
  
===Persistence Unit===
+
====Persistence Unit====
 
<source lang="xml">
 
<source lang="xml">
 
<?xml version="1.0" encoding="UTF-8"?>
 
<?xml version="1.0" encoding="UTF-8"?>
Line 485: Line 489:
 
             <property name="eclipselink.jdbc.user" value="scott"/>
 
             <property name="eclipselink.jdbc.user" value="scott"/>
 
             <property name="eclipselink.jdbc.password" value="pw"/>
 
             <property name="eclipselink.jdbc.password" value="pw"/>
            <!-- property name="eclipselink.logging.level" value="ALL"/-->           
 
 
             <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
 
             <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
 
             <property name="eclipselink.ddl-generation.output-mode" value="database"/>
 
             <property name="eclipselink.ddl-generation.output-mode" value="database"/>
Line 492: Line 495:
 
</persistence>
 
</persistence>
 
</source>
 
</source>
 +
===Hardware===
 +
====Bill Of Materials====
  
 
==Testing==
 
==Testing==
Line 508: Line 513:
  
 
==Appendices==
 
==Appendices==
 +
===Software Design Issues===
 +
===Hardware Design Issues===
 +
====DI 1: Can we bootstrap the last cog to run assembly====
 +
*In order to run true SIMD on the matrix in assembly as well as SPIN, we need a way to reload cog0 with assembly like wa are able to do with cogs 1-7 and discard the bytecode interpreter in cog0
 +
 
==References==
 
==References==
 
*[[EclipseLink/Building/64bit#310662:_StackOverflowError_for_64_linked_entities_in_6_dimensional_hypercube_network|Limitations of the Heap on 64 bit machines]]
 
*[[EclipseLink/Building/64bit#310662:_StackOverflowError_for_64_linked_entities_in_6_dimensional_hypercube_network|Limitations of the Heap on 64 bit machines]]
 
*[http://eclipsejpa.org Other JPA examples]
 
*[http://eclipsejpa.org Other JPA examples]
 +
-->

Latest revision as of 13:53, 3 November 2010

Back to the top