Distributing C# methods and threads over Ethernet-connected FPGAs using Kiwi

The Kiwi system achieves co-design by allowing nominated regions of C# programs to be targeted at FPGAs while the remainder executes on unmodified .NET and Mono virtual machines. Using C# attributes, certain methods are identified for separate compilation and collections of methods are mapped to mul...

Full description

Saved in:
Bibliographic Details
Published in2011 9th IEEE/ACM International Conference on Formal Methods and Models for Codesign pp. 1 - 9
Main Authors Greaves, D., Singh, S.
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.07.2011
Subjects
Online AccessGet full text
ISBN9781457701177
1457701170
DOI10.1109/MEMCOD.2011.5970505

Cover

More Information
Summary:The Kiwi system achieves co-design by allowing nominated regions of C# programs to be targeted at FPGAs while the remainder executes on unmodified .NET and Mono virtual machines. Using C# attributes, certain methods are identified for separate compilation and collections of methods are mapped to multiple FPGAs or to workstations connected to a common Ethernet switch. Individual methods become RPC-callable entities for the top-level C# thread running on one workstation, while server threads may run continually on other workstations or FPGAs. We illustrate the concept using minimal modifications to an Adobe Photoshop plug-in where the processing for each colour channel is farmed over the Ethernet to one or three remote entities which may each be either an FPGA or a workstation.
ISBN:9781457701177
1457701170
DOI:10.1109/MEMCOD.2011.5970505