אימות רכיב מרובה מעבדים validation of a multi-core chip

20
םםםםם םםםם םםםםם םםםםםםValidation of a Multi-Core Chip םםםם םםםםם םםםםםםCharacterization Presentation Project period : 2 semesters Starting semester: winter 2010/2011 PLURALITY Performed by : Malik Kittani, Ayman Mouallem Supervisor : Moshe Bensal

Upload: tallis

Post on 22-Feb-2016

23 views

Category:

Documents


0 download

DESCRIPTION

PLURALITY. אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip. מצגת אפיון פרויקט Characterization Presentation Project period : 2 semesters Starting semester: winter 2010/2011. Performed by : Malik Kittani, Ayman Mouallem Supervisor : Moshe Bensal. PLURALITY. Project Objectives :. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

אימות רכיב מרובה מעבדיםValidation of a Multi-Core Chip

Characterization Presentationמצגת אפיון פרויקט Project period : 2 semesters

Starting semester: winter 2010/2011

PLURALITY

Performed by : Malik Kittani, Ayman MouallemSupervisor : Moshe Bensal

Page 2: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

PLURALITY

Project Objectives :

• Learning, designing and implementing of several testing methods for single core and then expanding the testing to multi-core architecture .

• Understand Plurality’s Simulator and its capabilities.

Understand Plurality's HAL Architecture.

Page 3: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

PLURALITY

Limitations with single core Architecture:

Overview – why Parallel Processing and Multi-Core

Hardware improvements like pipelining, superscalar are not scaling well and require sophisticated compiler technology to exploit performance out of them.

With single core, we’ve reached to a lot of limitations : speed up, frequency, efficiency, power.

Page 4: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

PLURALITY

Old approach Vs. New approach

Previous Years Current Days

Power expensive, transistors “free”- Can put more transistors on a chip than have power to turn on

Power is free, but transistors expensive

2X CPU Performance every 18 months Bottleneck is the memory access bus time

Serialized instructions and programs The need for parallelism , specially in servers and GPU.

The parallel processing technology is now mature and is being exploited commercially.

Overview – why Parallel Processing and Multi-Core

Page 5: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

PLURALITY

With Multi-core and Parallel Processing we can see that the speedup ideally can go up linearly as we can see .

Overview – why Parallel Processing and Multi-Core

Page 6: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

PLURALITY

Plurality – What we are going to test This is a Blocks diagram that describes the basics of Plurality system, the system that we are going to test through this project, with all its components.

Page 7: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

PLURALITY

Overview About PLURALITY :* The cores

- 16-256 of 32-RISC SPARC Hyper-core processor - Perform basic arithmetic operations

* Co-Processor- One helper unit for each 4 cores- Perform multiplication and division

* Central Synchronization Unit (CSU) - scheduler- Distributes the tasks between the cores with minimal overhead

* Shared memory system-Allows any number of cores to access data and instruction memory at every clock cycles

Page 8: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

PLURALITY

Plurality Task oriented programming model (TOP):

The main objective of this model is to change the programming concept of serialized instructions to multiple tasks that can run more simultaneously.

The software designer , with the help of the CSU, can divide the regular program to regular and duplicable tasks program.

The division can be described by a task map, with dependencies between the tasks

When performing a test, this property is very helpful, we can match a task to a single core, and we can match group of tasks to group of cores and wait to see that all cores performed the task they should do, this way we can test the dependencies between the jobs and how the system co-respond with it.

Page 9: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

PLURALITY

What are we going to test ?!

Current perspective :• This Is a new hardware. Is every component working as it should ?!• Are all the components connected and can pass data between them ?• Is all the memory space addressable ? And can be read and written ?!• Are all the components needed for a single core working correctly ? (register file, program counter, ALU).

Future perspective :• Is the system accomplishes it’s aim ?!• Are all the CPUs synchronized ? Is the synchronizer working properly ?• Is the whole system working simultaneously as it should be ? can the 256 cores work together without interfering with each other ?!

Page 10: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

PLURALITY

Working Environment :

C languageC++

The operation system that is available for us in the Lab is Windows OS

Therefore we need the Cygwin Linux-Like Interface Layer

Plurality’s tools are built for linux environment

Page 11: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

PLURALITY

Working Environment :

C languageC++ Software Emulator—supports rapid software development for Task-Oriented Programming and debugging using the native compiler tool chain.

Because it runs on the native platform, the emulator is easier to use during early stages of software development.

For Testing, the Emulator is not a big help, because all we can see is the final result, with no further information about inner states of the chip

Page 12: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

PLURALITY

Working Environment :

C languageC++ Software Simulator—supports cycle-accurate performance evaluation using Plurality’s cross-development tool chain

The simulator simulate a real hardware data flow, where we can see the values of the points needed for tests, including : registers, memory, focusing on a specific core data flow.

The simulator also give us more options like controlling the number of cores on the chip, number of cores per co-processor and more.

Page 13: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

PLURALITY

Working Environment :

C languageC++

Plurality’s simulator supports for now only Eclipse working environment.

The conversion from serialized program to the TOP method of plurality is done within the compiler through the “GNU Native Platform Tool Chain” and “Plurality Cross-Development Tool Chain” .

Page 14: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

PLURALITY

Working Environment :

C languageC++ Plurality currently support C and C++ languages, but the support for C++ is unstable yet.

Therefore we will use the C language for building the tests.

Page 15: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

PLURALITY

Working Environment :

C languageC++ Hardware Evaluation Platform—an FPGA-based hardware implementation which runs at a down-scaled frequency relative to the final silicon implementation.

The hardware evaluation platform is a true hardware implementation for verification of the design before committing to silicon

Page 16: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

PLURALITY

Working Environment :

C languageC++

T.O.

For the Last stage of the Project (a year from now) we would like to perform our test on a real silicon Hardware implementation.

The first T.O. shall be presented by plurality on 2011.

Page 17: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

PLURALITY

Disclaimers and hang Factors :

In case that the cygwin environment does not work appropriately , we’ll need a linux

computer, with plurality tools for linux system that are more stable.

Plurality is having some economical problems, so if we face a problem with some

feature in testing , we won’t have a support from the company, and we’ll have to pass

on this feature without testing it.

in the meanwhile we don’t have an FPGA hardware in the lab, so we will perform the

tests only on software using the simulator.

Our perspective is to perform the tests on a silicon Tape Out hardware, which now is

still not produced.

If plurality don’t give us a tape out until the end of the project, we’ll have to end the

project without testing the hardware itself.

Page 18: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

PLURALITY

Tasks Until Midterm Presentation :

1) Learning the compiling, execution and debugging process using the simulator and

the Eclipse (18.11-28.11).

2) Learning and Programming in Task Oriented Programming (TOP) method(29.11-

6.12).

3) Learning and Implementing cornerstones of chip testing field(07.12-19.12) :

Observability and Controllability: we will explore what features Plurality

have in order to do this.

4) Building A skeleton and ideas for the tests that we are going to build until the end

of the semester(12.12-23.12).

5) Midterm Presentation (27.12.10).

Page 19: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

PLURALITY

For the second semester :

Implementing the skeleton and the ideas of the tests that was suggested at the

midterm presentation.

Tasks Until Final Presentation :

Expanding the tests from single core tests, to a whole system tests, and maybe

hardware tests if we receive a hardware .

Page 20: אימות רכיב מרובה מעבדים Validation of a Multi-Core Chip

PLURALITY

References :i. HyperCore Software Developer’s Handbook.

http://www.plurality.co.il/software/documents/SDH-draft-1.5.pdf

ii. John Grason and Andrew W.Nagle(1980), Bell Laboratories, Holmdel, New Jersey, “Digital test

generation and design for testability” .

iii. Bret Pettichord, 2002, “Design for Testability”.

iv. Shou-Wei Chang, Kun-Yuan Hsieh and Jenq Kuen Lee (2009), Department of computer science,

National Tsing-Hua University, Taiwan, “pTest : An Adaptive Testing Tool for Concurrent

Software on Embedded Multicore Processors”.

v. Sankaran Menon, Intel Corporation (2005), “Have we overcome the Challenges associated with

SoC and Multi-core Testing?”.

vi. Indradeep Ghosh, Anand Raghunathan, and Niraj K. Jha, Department of Electrical Engineering