Parallella Based Cloud Apps

Parallella Based Cloud Apps

Postby stealthpaladin » Sat Jul 20, 2013 10:44 am

We are a small team of developers that has been working on a new, soon to be open source cloud & app development platform. When I saw this board, I knew we had to use it. Excited to get one of the upcoming boards! At present, we are considering a number of different concepts. It would be great to get any feedback on what. how and why we could use Parallella to it's full potential.

The initial intent is to use both Epiphany and FPGA as accelerators primarily for XML processing and the platform's base class mappings. Leveraging a multi-tiered system heartbeat and a particularly clean form of scope resolution, we can effectively migrate application usage around a cluster. Aside from web-based applications, we can create many simple structures to express processing chains and various contexts.

With proper acceleration implemented at the low level, we hope that our platform may help others developing HPC systems designed for lots of user interactions and dynamic data processing from a high level. Our base classes are exceedingly light-weight and flow based; should have little trouble getting up and running. =)

Very likely what we'll see during phase one of our Parallela project is creating an FPGA processor capable of a subset of XQuery and XSLT with update functionality and mirroring functionality to the Epiphany cores through OpenCL. In addition we'll implement our event system to support highly-communicative, transactional. partially-persistent services.

Thanks to the Adapteva/Parallella team for this great advancement.
User avatar
stealthpaladin
 
Posts: 41
Joined: Sat Jul 20, 2013 9:46 am

Re: Parallella Based Cloud Apps

Postby Gravis » Sun Jul 21, 2013 7:27 am

stealthpaladin wrote:The initial intent is to use both Epiphany and FPGA as accelerators primarily for XML processing and the platform's base class mappings.

if you have a small and extremely specialized task like XML parsing, i think you are best off with an FPGA. however, it is of course dependent on your coding capabilities. it's the actual computations that the epiphany is best at.

It would be great to get any feedback on what. how and why we could use Parallella to it's full potential.

frankly, the parallella is a dev system for the epiphany architecture. if you really want to get serious about HPC then you should also be designing (or buying when available) a board that interconnects lots of epiphany processors because it's ability to scale is perhaps it's best feature and getting a ton of parallellas will take up space and cost a lot of money. the epiphany architecture scales up to 4096 addressable cores so that's 8x8 chips if you use 64 core epiphany chips or 32x32 chips if you use 16 core epiphany chips. of course that doesnt mean you cant feed the output into another 4096 cores, it just means that communications between the two sets would be limited.

as for what you should look at doing, i would offer specialized services that require huge amounts of computational power like...
- CG rendering for Blender. it's all FPU work which every eCore (a single processing node in an epiphany chip) are best at, so you could make a huge render farm for Blender. with the proper design, you could do high end rendering in realtime but it will take significant development.
- video processing (think OpenCV) for Big Brother type applications
- offer general OpenCL processing power. they write it, you process it.
- cryptography cracking service. you would need a zillion chips but if someone is willing to pay... ;)
User avatar
Gravis
 
Posts: 445
Joined: Mon Dec 17, 2012 3:27 am
Location: East coast USA.

Re: Parallella Based Cloud Apps

Postby 9600 » Mon Jul 22, 2013 5:50 pm

stealthpaladin wrote:We are a small team of developers that has been working on a new, soon to be open source cloud & app development platform. When I saw this board, I knew we had to use it. Excited to get one of the upcoming boards! At present, we are considering a number of different concepts. It would be great to get any feedback on what. how and why we could use Parallella to it's full potential.


Some good suggestions from Gravis! I'd add that:

- there are plenty of use cases for video processing/computer vision applications. E.g. I know of projects interested in using this in developing nations for identifying crop disease and potential causes of infant mortality, and with drones used in disaster relief (think spotting fires etc. from above).

- there are going to be a great many more computationally intensive applications where cloud-based HPC will bring real value. We just need to first work to get support into languages and frameworks so that developers can make use of the Epiphany accelerator!

Cheers,

Andrew
Andrew Back (a.k.a. 9600 / carrierdetect)
User avatar
9600
 
Posts: 997
Joined: Mon Dec 17, 2012 3:25 am

Re: Parallella Based Cloud Apps

Postby stealthpaladin » Tue Jul 23, 2013 2:33 pm

Gravis wrote:if you have a small and extremely specialized task like XML parsing, i think you are best off with an FPGA. however, it is of course dependent on your coding capabilities. it's the actual computations that the epiphany is best at.

...frankly, the parallella is a dev system for the epiphany architecture. if you really want to get serious about HPC then you should also be designing (or buying when available) a board that interconnects lots of epiphany processors because it's ability to scale is perhaps it's best feature and getting a ton of parallellas will take up space and cost a lot of money. the epiphany architecture scales up to 4096 addressable cores so that's 8x8 chips if you use 64 core epiphany chips or 32x32 chips if you use 16 core epiphany chips. of course that doesnt mean you cant feed the output into another 4096 cores, it just means that communications between the two sets would be limited.



This sounds very reasonable to me and great to learn this perspective. I've somewhat limited hardware experience. Thanks to the open hardware direction this project has gone, I can feel pretty comfortable designing a self-balancing system allowing engineers to split up the interfaces to different components.

Anyway, if the FPGAs are churning through, rendering xml and receiving service calls... we'll probably only need a small, variable portion of the FPGA hardware available. This could be used perhaps to task and report jobs being done on the Epiphany. My remaining thought there: Can the remaining FPGA co-operate with the Epiphany in OpenCL?

EDIT: Ah well really I know they can co-operate, but to what degree? Will I need to need to call everything through the host, or can I just hide latency directly through OpenCL mememory buffer sharing or similar mechanism?



Gravis wrote:as for what you should look at doing, i would offer specialized services that require huge amounts of computational power like...
- CG rendering for Blender. it's all FPU work which every eCore (a single processing node in an epiphany chip) are best at, so you could make a huge render farm for Blender. with the proper design, you could do high end rendering in realtime but it will take significant development.
- video processing (think OpenCV) for Big Brother type applications
- offer general OpenCL processing power. they write it, you process it.
- cryptography cracking service. you would need a zillion chips but if someone is willing to pay... ;)


9600 wrote:- there are plenty of use cases for video processing/computer vision applications. E.g. I know of projects interested in using this in developing nations for identifying crop disease and potential causes of infant mortality, and with drones used in disaster relief (think spotting fires etc. from above).

- there are going to be a great many more computationally intensive applications where cloud-based HPC will bring real value. We just need to first work to get support into languages and frameworks so that developers can make use of the Epiphany accelerator!




These are great thoughts, much appreciated! Video processing considerations are good to know, we have a lot of general encoding work to be done at our main office aside from development projects. Also considering work related to neural-net driven subtitles for videos.

Also we're actually pursuing sensor-based research dealing with spotting particular features currently so that tip is very encouraging :)

Hopefully our little team can contribute something of a spawnable interface to systems with varying ratios of Epiphany:FPGA:Input.
We've already got hooks for OpenCL that can certainly run on many versions of Linux with ease. With the announcement of the preorders at http://shop.adapteva.com/ we'll be hoping to have a project up soon folks can take a look at!
User avatar
stealthpaladin
 
Posts: 41
Joined: Sat Jul 20, 2013 9:46 am

Re: Parallella Based Cloud Apps

Postby stealthpaladin » Mon Sep 30, 2013 11:59 am

Update on this: our project is slowly getting into alpha release at last. We're working up some funding for a project-sponsored & partly community-owned cloud.

One of the intentions is to have at least 1 cabinet in at least 4 of the major node centers in the US (San Fran, Chicago, Dallas, NYC) each having a replicated set of specialized hardware. At minimum we'll be aiming to install 64 to N epiphany cores in some configuration at each; along side some other useful hardware and a plain cloud.

These will be available for everyone to develop with, run tests, or even deploy something with via web services whenever we launch.
User avatar
stealthpaladin
 
Posts: 41
Joined: Sat Jul 20, 2013 9:46 am


Return to Clustering

Who is online

Users browsing this forum: No registered users and 2 guests

cron