POLITECNICO DI MILANO
ENHANCEMENTS PROPOSAL FOR AN AUTOMATED TEST-TUBES ANALYSIS SYSTEM
High Performance Processors and Systems Project Presentation
Andrea MAESANIFederico MORO
Prof. Donatella SCIUTOTutor: Prof. Marco Domenico SANTAMBROGIO
June 19th, 2008
2
InpecoInpeco
“Inpeco is a leading player in the fast growing ClinicalLaboratory Automation market and Life Sciences supply industry that specializes in the development, production, distribution and servicing of enabling solutions to improve the process and operations of the laboratory”
(source: www.inpeco.com)
3
Inpeco system – description and Inpeco system – description and limitslimits
Typical problems of fully centralized systems:Typical problems of fully centralized systems:
Difficoult to Difficoult to face errorsface errors in one of the nodes in one of the nodes or, even more serious, in the central serveror, even more serious, in the central server
Update, adding and removing of nodesUpdate, adding and removing of nodes complicated to be managedcomplicated to be managed
4
Proposed ArchitectureProposed Architecture
NODE OP TIME1 1 352 2 23 2 12
TIPO PROV OP1 2-5-6-82 1-23 1-2-7
# PROV TIPO PROV STATO1 2 FINITO2 2 IN ESEC3 1 IN ATTESA
LocalDB
NODE
RationaleRationale
AimImprove system performance (aka maximize test-tubes throughput)
Identify limits and drawbacks of Inpeco’s architecture
ContributionsPropose a formal model for the network to:
Improve the network performanceDefine the requirements for:
– A runtime network controller– An offline network simultator to identify the best
placement for each node
Design a novel architecture for the node to:Speedup the updates in the node description to achieve future constraints/needsEnnance future updates in the functionalities provided by the nodeSupport complex distributed systems to spread the computation and to distribute the network control over all the nodes
What's next...What's next...
Network analysisProblem descriptionNew proposed systemSimilar cases analysis
Mass Customization ManufacturingJob Shop Scheduling ProblemCommunication Systems
Proposed solutionTopology DefinitionScheduling Algorithm
Node case-studyConcluding remarks
7
Network DescriptionNetwork Description
Set of test-tubesSet of test-tubes divided into classes divided into classes
Set of nodesSet of nodes, characterized by the operation , characterized by the operation they can perform (possibly more nodes they can perform (possibly more nodes performing the same operation), connected in a performing the same operation), connected in a certain topologycertain topology
Each test-tubes class requires to the system a Each test-tubes class requires to the system a well defined well defined set of operationsset of operations
8
Similar Cases Analysis (1)Similar Cases Analysis (1)
Mass Customization ManufacturingSet of productsEach problem can be divided into fixed module
[1] Flexible Manufacturing System for Mass Customization Manufacturing – Guixiu Qiao, Roberto Lu, Charles McLean
Job Shop Scheduling Problem
Set of jobs divided into classes
Set of nodes, characterized by the operation they can perform (possibly more nodes performing the same operation), NOT connected in a certain topology
Each job class requires to the system a well defined set of operations
[2] Introduction to Job Shop Scheduling Problem – Qianjun Xu – 2001
[3] The Job Shop Scheduling Problem with setup times – Francis Sourd – 1998
[4] Heuristic Methods for Solving Job Shop Scheduling Problems – A. Garrido, M.A. Salido, F. Barber, M.A. Lopez
[5] Algorithms for the Job Shop Scheduling Problem – a comparison of different methods – J. Kaschel, T. Teich, G. Kobernik, B. Meier
9
Similar Cases Analysis (2)Similar Cases Analysis (2)
Communication Systems
Set of information unitSet of information unit divided into classes divided into classes
Set of nodesSet of nodes, characterized by the operation they can , characterized by the operation they can perform (possibly more nodes performing the same perform (possibly more nodes performing the same operation), operation), connected in a certain topologyconnected in a certain topology
[6] An Overview of the JMT Queueing Network Simulator – M. Bertoli, G. Casale, G. Serazzi
[7] Java Modelling Tools: an Open Source Suite for Queueing Network Modelling and Workload Analysis - M. Bertoli, G. Casale, G. Serazzi - 2006
10
Similar Cases Analysis (3)Similar Cases Analysis (3)
Mass Customization ManufacturingAim: formalization
Job Shop Scheduling ProblemNo fixed network layout => explosion of possible No fixed network layout => explosion of possible states!states!
Their main problem consists in pruning possible paths in Their main problem consists in pruning possible paths in order to obtain a order to obtain a faster searchfaster search
Communication SystemsNeed to send information from a certain point to Need to send information from a certain point to another through a network => another through a network => no need to pass no need to pass through some defined nodesthrough some defined nodes
11
Proposed Solution (1)Proposed Solution (1)
The topology of the network is The topology of the network is defined offlinedefined offline basing:basing:
on statistical dataon statistical data
on information collected during a training timeon information collected during a training time
Online system performance analysis may then Online system performance analysis may then eventually suggest eventually suggest later updateslater updates
TOPOLOGY DEFINITION
12
Proposed Solution (2)Proposed Solution (2)
Define all possible Define all possible paths from current node to paths from current node to final nodefinal node (-> n paths) – (-> n paths) – main difference from JSSmain difference from JSS
Define which of these (n) Define which of these (n) satisfy the satisfy the requirementsrequirements of the current test-tube (-> m of the current test-tube (-> m paths =< n) – paths =< n) – main difference from communication main difference from communication systemssystems
Define which of these (m) is the Define which of these (m) is the optimal path optimal path – – to improve performancesto improve performances::
Shortest time until next required operation in performedShortest time until next required operation in performed
Shortest time until the test-tube exits the systemShortest time until the test-tube exits the system
SCHEDULING ALGORITHM
13
Proposed Solutions (3)Proposed Solutions (3)
How to define the time until the test-tube exits the How to define the time until the test-tube exits the system?system?
queuekkk
ptkkk ttTT ,max 111...0...0
Where:
• time to pass through the node
• queue time
• time to move from one node to another
ptt
queuet
14
Addictional RemarksAddictional Remarks
The system descripted also garantees:
TOPOLOGY UPDATETOPOLOGY UPDATE: all the modules are aware : all the modules are aware of changes in the topology of the system; this of changes in the topology of the system; this way all the scheduling decisions taken from way all the scheduling decisions taken from update on will base on the new topologyupdate on will base on the new topology
TRACKING and ERROR DETECTIONTRACKING and ERROR DETECTION: : knowledge of topology and test-tube passage knowledge of topology and test-tube passage memorization permit to track the movements memorization permit to track the movements and eventually to identify the exact point where and eventually to identify the exact point where an error has occurredan error has occurred
15
What's next...What's next...
Network analysis
Node case-studyActual node architectureNode problemsProposed solutionDemonstrative architecture
Target devicesLinux over FPGAResults
Conclusion
16
Inpeco's system: Node Inpeco's system: Node ArchitectureArchitecture
17
Inpeco's system: Node Inpeco's system: Node Problems (1)Problems (1)
Single point of failureA central server controls all the nodes
Development time and cost of nodesActually based on ASIC
DesignSimulationSynthetize HW (external manufacturers)Test
18
Inpeco's system: Node Inpeco's system: Node Problems (2)Problems (2)
Expansions and upgradesModule-based system
limited number of add-ons
ASIChard to adapt
Problem of standards
Faults detection and recoveryFaults
Manual procedures to find faultsVery time-consuming → entire plant stopped for tests
On-site intervention needed
19
Proposed SolutionProposed Solution
An FPGA based device can solve many of these problemsSingle Point of failure
Distributed System → Linux on FPGA
Easy upgrades / expansionsReconfigurationStackable Boards
Reduce development time and costFPGA design cycle
Fault tolerance and fault detectionTMRRadiation hardened devicesFeedback of outputs
Node generic architectureNode generic architecture
Basic functionalities to achieve
Support for complex distributed systems
Linux
Network connectionEthernet
Manipulation of local HW from remote
Simple client-server software to switch LEDs on/off
Internal reconfigurationDRESD ICAP controller
21
Target devicesTarget devices
Avnet VP7 Evaluation BoardPowerPC hard-processor ( PPC 405 @ 300 MHz )μCLinux (2.4 kernel) + ELDKExcellent support from Avnet (drivers...)
XUP VP30 Development Board
Xilinx soft-processor(Microblaze @ 100 MHz)PetaLinux (2.6 kernel) + PetalogixLacks of drivers → only used petalinux drivers
22
Linux 2.6: PetaLogix Toolchain Linux 2.6: PetaLogix Toolchain
1. Synthetize HW → Bitstream
3. Build Libraries for PetaLinux
4. Configure kernel and compile → image.bin (filesystem+kernel)
5. Download the Bitstream and the software image
2. Manual setup
Kernel autoconfiguration
(petalinux-autoconfig)
Import in PetaLinux(petalinux-new-platform)
23
Results (Avnet)Results (Avnet)
Completely functional architecture on Avnet boardHttpd serverSample client-server demonstrative software
Works!
Internal reconfiguration (smallbit)Simply switches on/off LEDs
24
Results (XUP)Results (XUP)
Partially working node architecture (kernel 2.6)Fully working Linux distribution on the boardClock skew impact directly on Ethernet performances
Partially works ( 10% packet loss on the network )
Internal reconfigurationNeed Port the ICAP kernel module to 2.6 kernel
Sample client-server demonstrative softwareWorks! (sometimes does not → remember the Ethernet problems)
25
Results – area requirementsResults – area requirements
Resource Used Available %Slices 4926 4928 99%
Flip-flops 5217 9856 52%4-Input LUTs 6974 9856 70%
Resource Used Available %Slices 6318 13696 46%
Flip-flops 5869 27392 21%4-Input LUTs 7006 27392 25%
Microblaze
DDR Controller
Ethernet EMAC controller
OPB 2 PLB Bus
UART Controller
VP7 Device
VP30 Device
VP30 IP-Cores area occupation
26
ConclusionsConclusions
Inpeco has a starting point to decide if take into account FPGA devices for future development
FPGA devices can help to solve some of their problemsThe proposed network design guarantees an improvement in performances, is much more flexible and error tolerantAdvantages of reconfigurable hardware
Demonstrative architectureComplete Operating system with network support on a FPGA deviceSoftware can greatly reduce development effortCreate very complex systems using a relatively simple node
Questions?Questions?
Thank you!