John David Eriksen Jamie Unger-Fink

34
John David Eriksen Jamie Unger-Fink Using Simulated Partial Dynamic Run- Time Reconfiguration to Share Embedded FPGA Compute and Power Resources across a Swarm of Unpiloted Airborne Vehicles

description

Using Simulated Partial Dynamic Run-Time Reconfiguration to Share Embedded FPGA Compute and Power Resources across a Swarm of Unpiloted Airborne Vehicles. John David Eriksen Jamie Unger-Fink. Outline. Background Objective Previous Work Resource Sharing Within Single Node - PowerPoint PPT Presentation

Transcript of John David Eriksen Jamie Unger-Fink

Page 1: John David Eriksen Jamie Unger-Fink

John David EriksenJamie Unger-Fink

Using Simulated Partial Dynamic Run-Time Reconfiguration to Share Embedded FPGA Compute and Power Resources across a Swarm of Unpiloted Airborne Vehicles

Page 2: John David Eriksen Jamie Unger-Fink

Background Objective Previous Work Resource Sharing Within Single Node Resource Sharing Across All Nodes Conclusions Questions

Outline

Page 3: John David Eriksen Jamie Unger-Fink

Unmanned Air Vehicles◦ Lower cost, less risk to pilot, longer flight times◦ Autonomous and/or remote control◦ Military applications

Reconnaissance Attack

◦ Scientific applications Hurricane data collection Severe climates

Background

Page 4: John David Eriksen Jamie Unger-Fink

Background

United States Air Force Global Hawk (Reconaissance)

Page 5: John David Eriksen Jamie Unger-Fink

Background

MQ-9 Reaper (Combat)

Page 6: John David Eriksen Jamie Unger-Fink

Micro Air Vehicles (MAVs)◦ Less than 25kg◦ Wingspans smaller than 3 meters◦ Limited resources

Computation power requirement significant when compared to flight power requirement, unlike in larger UAVs.

UAV Swarms◦ Groups of UAV's that cooperate in a decentralized

fashion that enables them to complete tasks that no individual could complete.

Background

Page 7: John David Eriksen Jamie Unger-Fink

Background

US Military – MAV Prototype

Page 8: John David Eriksen Jamie Unger-Fink

Background

Lockheed Martin MicroSTAR

Page 9: John David Eriksen Jamie Unger-Fink

Demonstrate a scheme for sharing a single FPGA among multiple tasks.

Allow tasks to migrate between different UAVs.

Effectively allow power to be shared between UAVs and to provide for replacement of members of swarm that temporarily or permanently leave the swarm.

Objective

Page 10: John David Eriksen Jamie Unger-Fink

Builds on relatively new field of sharing an FPGA amongst multiple applications dynamically.◦ System must address:

Allocation Partitioning Placement Routing

◦ Can take advantage of SoC and NoC research.

Previous Work

Page 11: John David Eriksen Jamie Unger-Fink

Advantages of UAV swarms◦ Military roles

Cheaper, more expendable swarms can approach a target and collect data from closer proximity with less risk

Swarms provide fault-tolerance via redundancy – if one UAV is lost others are still in place to continue mission

Multiple UAVs can be used to precisely locate target via by combining readings of each of their sensors and employing geolocation techniques.

Previous Work

Page 12: John David Eriksen Jamie Unger-Fink

Task mobility scenarios ◦ Continuous surveillance

Individual UAVs in a swarm are retired for refueling in a staggered fashion, so some minimum number N of UAVs remain in flight at any one time.

◦ Uneven power consumption A specific sensor may consume a great amount of

during operation. If task migration does not exist, then flight time of

the swarm is compromised by this sensor. If task migration does exist, then UAVs could take

turns engaging this sensor to distribute power consumption load across swarm.

Previous Work

Page 13: John David Eriksen Jamie Unger-Fink

The computational agent paradigm◦ Properties

Autonomy (To act and decide without external direction)

Social Interaction (Inter-agent comm. via messaging)

Reactivity (Ability to respond to nondeterministic changes)

◦ Mobile Agents Can migrate between host computer systems

during execution. Agent environment facilitates this mobility.

Previous Work

Page 14: John David Eriksen Jamie Unger-Fink

Not all UAV tasks need to be loaded at the same time◦ Selectively loading tasks as needed reduces costs by:

Eliminating unneeded computation Allowing for smaller FPGAs

A run-time system or operating system must intervene to coordinate loading of tasks◦ Constraint-based dynamic FPGA configuration writing, a

two-dimensional geometric packing problem.◦ Fast packing heuristics must be used: Best Fit, Bottom Left,

Bazargan's, Minkowski Sum◦ Minkowski Sum considered to be best. Reasonably fast and

does not introduce much fragmentation of FPGA surface.

Resource Sharing Within Single Node

Page 15: John David Eriksen Jamie Unger-Fink

Minkowski sum chosen for application allocation◦ Can be used to allocate non-rectangular cores on FPGA◦ Good handling of holes left over after a portion of the

FPGA has been de-allocated◦ Good run-time performance characteristics

Resource Sharing Within Single Node

Page 16: John David Eriksen Jamie Unger-Fink

Dynamic Partial Reconfiguration (PR)◦ Needed for dynamic allocation of portions of

the FPGA surface.◦ Currently impractical due to technological

limitations.◦ Current FPGAs with support for PR not easily

capable of handling non-rectangular regions.◦ Simulated PR implemented to compensate for

these deficiencies. Checkpointing used.

Resource Sharing Within Single Node

Page 17: John David Eriksen Jamie Unger-Fink

Checkpointing for PR◦ Entire FPGA configuration is saved. Tasks store

their state in off-FPGA memory.◦ Saved configuration is modified to deallocate

unused areas and allocate new applications, then entire FPGA is reconfigured. Task states are reloaded from memory.

Resource Sharing Within Single Node

Page 18: John David Eriksen Jamie Unger-Fink

Checkpointing Implementations◦ Cooperative

Run-time system notifies tasks that they should take a checkpoint. Run-time system waits until all tasks finish checkpoint.

Risk: an unresponsive task can cause entire system to hang◦ Pre-emptive

Tasks periodically take their own checkpoints. Run-time system can then force a reconfiguration at any arbitrary time.

Easier for task developers to interface with since there is no need to handle reconfiguration interrupt sent by system.

Chosen over cooperative checkpointing due to increased run-time safety and decreased implementation complexity.

Resource Sharing Within Single Node

Page 19: John David Eriksen Jamie Unger-Fink

Sharing off-chip memory among applications◦ Three necessary components indentified:

On-chip network Wiring definitions Read-write request protocols

Arbitrator Manages accesses of multiple tasks to shared

external memory Memory partitioning policy

Resource Sharing Within Single Node

Page 20: John David Eriksen Jamie Unger-Fink

Memory network topologies explored:◦ Bus◦ Star◦ Mesh◦ Ring◦ Tree◦ Fat Tree

Resource Sharing Within Single Node

Fat Tree Topology

Page 21: John David Eriksen Jamie Unger-Fink

Memory network topology characteristics:◦ Ease of implementation◦ Wire routing cost◦ Concurrency support◦ Latency◦ Scalability◦ Impact on area allocation

Resource Sharing Within Single Node

Page 22: John David Eriksen Jamie Unger-Fink

Resource Sharing Within Single NodeEase of Implementation

Wire routing cost

Concurrency Latency Scalability

Bus ++ - -- - --

Star ++ -- ++ ++ --

Ring -- -- + + +

Mesh ++ + - 0 0

Tree 0 ++ 0 + +

Fat Tree - - + + +

From favorable to unfavorable: {++, +, 0, - , --}

Page 23: John David Eriksen Jamie Unger-Fink

Star topology is the favored topology◦ Good concurrency support and low latency are

highly favored in the UAV swarm scenario, so star topology is selected.

◦ Since UAV swarm scenario does not anticipate the need to run a large number of applications simultaneously, so high wiring cost and poor scalability not seen as an issue here.

◦ In scenarios where a large amount of applications are anticipated, mesh or tree topologies should be explored.

Resource Sharing Within Single Node

Page 24: John David Eriksen Jamie Unger-Fink

Resource arbitration implementation◦ Off-chip arbitrator◦ Off-chip memory◦ On-chip network implemented using star topology

Data bus Address bus Command bus (specify read, write, or stream operations) Clock and control lines

Feasibility experimentally verified using a Celoxica RC1000 development board with built-in memory running a reconnaissance role simulator consisting of several tasks running in parallel.◦ Some performance loss due to memory contention of memory

resources revealed, but this loss was judged to be acceptable.

Resource Sharing Within Single Node

Page 25: John David Eriksen Jamie Unger-Fink

Management of resource sharing◦ Decentralized scheme preferred, since single point

of failure very undesirable in UAV swarm scenario A decentralized scheme using computing

agents determined to be best solution◦ Static agents

Cameras Other sensors

◦ Mobile agents Applications that can move between different

computation nodes Interact with static and mobile agents

Resource Sharing Across All Nodes

Page 26: John David Eriksen Jamie Unger-Fink

Agents identified using unique identifier tuple:◦ {sequence_number, home_node, class,

current_node, ability_list} sequence_number – unique ID with respect to

home node home_node – node where the agent was created class – type of agent current_node – node where the agent is currently

located ability_list – services or capabilities agent is

equipped with

Resource Sharing Across All Nodes

Page 27: John David Eriksen Jamie Unger-Fink

Agent environment requirements◦ Facilitate discovery of other agents ◦ Facilitate communication between agents◦ Provide node information◦ Facilitate migration between nodes

All-or-nothing transactional node migration◦ Provide message routing and forwarding

mechanisms

Resource Sharing Across All Nodes

Page 28: John David Eriksen Jamie Unger-Fink

Agent migration considerations◦ High cost

Power consumption Lost application throughput due to downtime

◦ Migrations should be carefully managed to reduce cost

Resource Sharing Across All Nodes

Page 29: John David Eriksen Jamie Unger-Fink

◦ Migration decisions depend on following factors CPU and memory usage Physical location Resource availability Power usage Communication bandwidth to other nodes

◦ Migration decisions carried out using rule-based system, where fuzzy logic was determined to be useful since it is suited to dynamic system

Resource Sharing Across All Nodes

Page 30: John David Eriksen Jamie Unger-Fink

Example of rule:IF (the visibility of sensors on this platform is

LOW) AND (the visibility on another platform is HIGH) THEN (desire to migrate is HIGH)

Fuzzy logic: Multi-valued, non-binary logic For example, in addition to LOW, and HIGH values,

above, a MEDIUM value could be introduced.

Resource Sharing Across All Nodes

Page 31: John David Eriksen Jamie Unger-Fink

The authors addressed the problem of designing a simulation that exhibits the capability to distribute computation and power loads across a swarm of simulated UAVs by using a combination of technologies and paradigms spanning reconfigurable computing, embedded systems, and distributed computing.

Conclusions

Page 32: John David Eriksen Jamie Unger-Fink

They addressed one of the stumbling blocks regarding the newly emerging technology of partial reconfiguration by using checkpointing, but did not address how checkpointing impacts system availability and application throughput.

Conclusions

Page 33: John David Eriksen Jamie Unger-Fink

The techniques described within could be applied to wireless sensor networks, microsatellites, and other distributed systems built from many relatively small and resource-constrained nodes.

Future work:◦ Examine security concerns◦ Examine impact of checkpointing-based partial

reconfiguration

Conclusions

Page 34: John David Eriksen Jamie Unger-Fink

Questions?