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 (Simulation JPA Application Example)
m (Simulation JPA Application Example)
Line 1: Line 1:
 
=Simulation JPA Application Example=
 
=Simulation JPA Application Example=
 
==Purpose==
 
==Purpose==
*This sumulation will serve as a ''near real world'' enterprise application that showcases utilizing JPA as the persistence or integration layer - specifically using EclipseLink JPA as the provider.
+
*This sumulation will serve as a ''near real world'' enterprise application that showcases utilizing JPA as the persistence or integration layer - specifically using [http://wiki.eclipse.org/EclipseLink/Examples/JPA EclipseLink JPA] as the provider.
 
*This enterprise application will offer the services of a simulated connection machine ''(Ref: Thinking Machines CM-2)'' symbolic vector processor.
 
*This enterprise application will offer the services of a simulated connection machine ''(Ref: Thinking Machines CM-2)'' symbolic vector processor.
 
**Why are we choosing an older architecture to simulate?
 
**Why are we choosing an older architecture to simulate?
***A) The architecture is very clean and even though it is very large - is simple enough to implement.
+
***a) The architecture is very clean and even though it is very large - is simple enough to implement.
***A) The design is proven and static - as it has been superceeded by more powerfull designs).
+
***b) The design is proven and static - as it has been superceeded by more powerfull designs).
 +
***c) The massively parallel processing design of the CM-2 matches our goal of utilizing parallelism at both the thread and multi-core processor level on our host machine.
 
===Goals===
 
===Goals===
 
*We would like to explore the following limits of the JPA provider and hosting application server.
 
*We would like to explore the following limits of the JPA provider and hosting application server.
Line 13: Line 14:
 
*OS: Windows XP or Vista 32/64 bit
 
*OS: Windows XP or Vista 32/64 bit
 
*Database: Oracle 11gR1
 
*Database: Oracle 11gR1
*JPA provider: EclipseLink 1.2
+
*JPA provider: [http://www.eclipselink.org EclipseLink 1.2]
 
*JDK: Sun 1.6.0_14
 
*JDK: Sun 1.6.0_14
  
Line 28: Line 29:
  
 
====Hierarchy====
 
====Hierarchy====
*Hypercube (quadrants(1:M), input, output)
+
*Hypercube (quadrants(1:M), input, output, program)
 
*Quadrant (boards(1:M), hypercube(1:1))
 
*Quadrant (boards(1:M), hypercube(1:1))
 
*Board (processorChips(1:M), ramChips(1:M))
 
*Board (processorChips(1:M), ramChips(1:M))
Line 35: Line 36:
 
**MemoryChip
 
**MemoryChip
 
*''Processor(A)''
 
*''Processor(A)''
**VectorProcessor(alu)
+
**VectorProcessor(alu, stateMachine, uProgram)
 
**RouterProcessor (routers(1:M))
 
**RouterProcessor (routers(1:M))
  

Revision as of 15:50, 31 August 2009

Simulation JPA Application Example

Purpose

  • This sumulation will serve as a near real world enterprise application that showcases utilizing JPA as the persistence or integration layer - specifically using EclipseLink JPA as the provider.
  • This enterprise application will offer the services of a simulated connection machine (Ref: Thinking Machines CM-2) symbolic vector processor.
    • Why are we choosing an older architecture to simulate?
      • a) The architecture is very clean and even though it is very large - is simple enough to implement.
      • b) The design is proven and static - as it has been superceeded by more powerfull designs).
      • c) The massively parallel processing design of the CM-2 matches our goal of utilizing parallelism at both the thread and multi-core processor level on our host machine.

Goals

  • We would like to explore the following limits of the JPA provider and hosting application server.
    • Performance and Volumetrics: We require 65536 processor objects.

Infrastructure

  • OS: Windows XP or Vista 32/64 bit
  • Database: Oracle 11gR1
  • JPA provider: EclipseLink 1.2
  • JDK: Sun 1.6.0_14

Analysis

Data Model

Processor Architecture

  • Each CM-2 processor is composed of up to 64k (65536) 1-bit processors arranged in a 12-dimensional hypercube.
    • There are 16 1-bit processors per chip along with 1 routing processor per chip.
      • There are 32 cpu chips and 32 ram chips per backplane board
        • There are 16 boards per quadrant
          • There are 8 quadrands to a CM-2
    • We therefore have (2^4=16) x (2^5=32) x (2^4=16) x (2^3=8) = 2^16 = 65536 possible processors in a fully configured system.

Hierarchy

  • Hypercube (quadrants(1:M), input, output, program)
  • Quadrant (boards(1:M), hypercube(1:1))
  • Board (processorChips(1:M), ramChips(1:M))
  • Chip(A)
    • ProcessorChip (processors (1:M), router (1:1))
    • MemoryChip
  • Processor(A)
    • VectorProcessor(alu, stateMachine, uProgram)
    • RouterProcessor (routers(1:M))

Design

Implementation

Schema Model

Testing

Appendices

References

Back to the top