Data Stream Managing Unit Final Presentation

15
Data Stream Data Stream Managing Unit Managing Unit Final Presentation Final Presentation Advisor Advisor : Vitaly Spector : Vitaly Spector Students Students : Neomi Makleff : Neomi Makleff Hadas Hadas Azulay Azulay Lab Lab : High Speed Digital : High Speed Digital Systems Systems

description

Data Stream Managing Unit Final Presentation. Advisor : Vitaly Spector Students : Neomi Makleff Hadas Azulay Lab : High Speed Digital Systems. Introduction. - PowerPoint PPT Presentation

Transcript of Data Stream Managing Unit Final Presentation

Page 1: Data Stream  Managing Unit Final Presentation

Data Stream Data Stream Managing UnitManaging Unit

Final PresentationFinal Presentation

AdvisorAdvisor : Vitaly Spector : Vitaly SpectorStudentsStudents : Neomi Makleff : Neomi Makleff

Hadas Azulay Hadas AzulayLabLab : High Speed Digital Systems : High Speed Digital Systems

Page 2: Data Stream  Managing Unit Final Presentation

IntroductionIntroduction In Part A of our project we established a In Part A of our project we established a

line of communication between a PC and line of communication between a PC and our Nios II system, at a speed of 100 Mbps, our Nios II system, at a speed of 100 Mbps, Full duplex.Full duplex.

Now we have established a “smart” line of Now we have established a “smart” line of communication, between multiple Nios II communication, between multiple Nios II systems and multiple PCs.systems and multiple PCs.

Page 3: Data Stream  Managing Unit Final Presentation

Project AimProject Aim We have implemented the “smart” We have implemented the “smart”

communication between N generators of communication between N generators of Nios II systems and M processing units Nios II systems and M processing units of PCs.of PCs.

We have implemented the concept We have implemented the concept mentioned above when N=1, M=2. We mentioned above when N=1, M=2. We have created a network which consists have created a network which consists of 2 PCs and a Nios II system, which is of 2 PCs and a Nios II system, which is able to process packages in T time and able to process packages in T time and are managed by a management unit.are managed by a management unit.

Page 4: Data Stream  Managing Unit Final Presentation

Switch

Ethernet

System

Our implementation is built for a system with M PCs and N Nios II systems

Page 5: Data Stream  Managing Unit Final Presentation

Development Environment - Development Environment - HardwareHardware

PCPC

Altera PCI EXPRESS DEV KIT – Altera PCI EXPRESS DEV KIT –

STRATIX II GX STRATIX II GX

(Rafael requirements)(Rafael requirements)

SwitchSwitch

Interface : EthernetInterface : Ethernet

Page 6: Data Stream  Managing Unit Final Presentation

Development Environment -Development Environment -SoftwareSoftware

Altera PCI EXPRESS DEV KIT –Altera PCI EXPRESS DEV KIT – STRATIX II GX:STRATIX II GX:

Nios II IDENios II IDE

Quartus IIQuartus II

SOPC BuilderSOPC Builder

PCPC : :Windows XP ProfessionalWindows XP Professional

EclipseEclipse

Page 7: Data Stream  Managing Unit Final Presentation

Concept - Concept - Centralized Centralized management unitmanagement unit

Our project includes a management unit which will manage the flow of packages from the systems to the processing units so that the bottleneck phenomena will be lessened.

Page 8: Data Stream  Managing Unit Final Presentation

Our Implementation…

Our project requires us to create a management unit which communicates using LAN.

We have created a generic managing unit that can be used on any platform

We have used the PC as a platform. The advantages to our choice are that it’s low cost, easy to manage and maintain.

We have implemented a system in which the Management Unit sends the packages to the Processing Units contrarily to the Nios II Systems sending the packages directly to the Processing Units.

Page 9: Data Stream  Managing Unit Final Presentation

Implementation of ConceptImplementation of Concept

ProcessingUnit 2

ManagementUnit

ProcessingUnit 1

Nios II System 1

The Processing Units send a connection request to the Managing Unit using port 10000. The request will include an ID (“PC”) and

status (“free”). The managing unit identifies the IP of the PC which has opened a socket and adds it to a vector of free PCs. All

communication to the managing unit is done through port 10000

PC2 PC1PC, Free

PC, Free

Vector of PCs: 10.0.0.1|10.0.0.2

Page 10: Data Stream  Managing Unit Final Presentation

Implementation of ConceptImplementation of Concept

The Nios II system connects to the Managing Unit using port 10,000 with the following message: “NS,hello,1”. “NS” is to identify that a Nios is trying to connect, “hello” is the package to process, “1” is

the ID of the package. The Managing Unit receives the request and enters the package in to a PackagesToExecute queue. All queues

and vectors are FIFO.

ProcessingUnit 2

ManagingUnit

ProcessingUnit 1

Nios II System 1

PC2 PC1

PackagesToExecute: NiosPackage1

NS,hello,1

Page 11: Data Stream  Managing Unit Final Presentation

ManagingUnit

ProcessingUnit 1

PC1

Implementation of ConceptImplementation of Concept

The Managing unit will now check whether there is a free PC and if so send it the package to process. The PC will be removed from the

vector of FreePCs and upon receiving the package, the PC sends the managing unit “PC,Busy”. A NiosPackage has a PackInfo and ID

ProcessingUnit 2

PC2

Nios II System 1

NiosPackage1

“PC,Busy”

Vector of PCs: 10.0.0.1|10.0.0.2

Page 12: Data Stream  Managing Unit Final Presentation

ManagingUnit

ProcessingUnit 1

PC1

Implementation of ConceptImplementation of Concept

The Management Unit receives the “PC, Busy” message from the PC who is processing and sends the Nios II System that a PC is

processing package #ID. The Nios II system will then send a new package .

ProcessingUnit 2

PC2

Nios II System 1

Processing Package #ID NS,hello,2

Page 13: Data Stream  Managing Unit Final Presentation

ManagingUnit

ProcessingUnit 1

PC1

Implementation of ConceptImplementation of Concept

Upon receiving another package, the Managing Unit once again checks the Free PC Vector and “sees” that there is another PC available and sends it the package. When a PC is free again, it

sends “PC, free” and the Managing Unit adds the IP of the PC back to the FreePC vector. The process continues until the Nios II System

finishes sending packages.

ProcessingUnit 2

PC2

Nios II System 1

NiosPackage2

PackagesToExecute: NiosPackage2

NS,hello,2

Vector of PCs: 10.0.0.2

Page 14: Data Stream  Managing Unit Final Presentation

ProgramManagement Unit

•Initializes the server socket and waits to accept requests•If receives “PC, free” then adds the IP of PC to vector of FreePC’s and checks if there is a package to process for PC• If receives Nios package then adds package to package queue and sees if there is a free PC to process package•If receives “PC, busy”, sends message to Nios that package is being processed

Processing Unit

•Initializes connection with Management Unit•While (true): Sends message “free”•Waits to receive package•Processes package and sends message “busy”•Finishes processing and sends “free”

Generator

• Initializes the hardware and IP •Initializes connection with Management Unit•While (true), sends packages and receives message that the package # ID is being processed

Page 15: Data Stream  Managing Unit Final Presentation

Conclusions We have succeeded in creating a network of

communication between the Nios II based system and PC using Ethernet and LAN.

We have succeeded in creating a management unit which can manage packages that arrive from the Nios II System and send them to be processed accordingly.

We have succeeded in writing programs that are generic and will be able to support N Nios II Systems and M PCs (as well as N Nios II Systems sending j packages at once).