<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif; ">
<ol>
<li>Yes and no.. The application process needs to be "parallel aware", but for some applications that could just mean running multiple instances, one on each node, and farming the work out to them. This is called "embarassingly parallel" (EP).. A good example
would be rendering animation frames. Typically each frame doesn't depend on the frames around it so you can just parcel the work at a frame granularity to the nodes. There are other applications which are more tightly coupled and where the computation
process running on node N needs to know something about what's running on Node N+1 and Node N-1 very frequently. For this, applications use some sort of standardized process communication library (e.g. MPI), or, perhaps a library that performs a high level
function (e.g. Matrix inversion) that underneath uses the interprocess comm.</li></ol>
<div>2. Another "it depends". If the process is EP, and each node is processing a different image, then your problem is one of sending and retrieving images, which isn't much different from a conventional file server kind of model. If multiple processors/nodes
are working on the same image, then the interconnect might be more important. It all depends on the communication requirements. Note that even EP applications can get themselves fouled up in network traffic (imagine booting 1000 nodes simultaneously,
with them all wanting to fetch the boot image from one server simultaneously)</div>
<div><br>
</div>
<div><br>
</div>
<div>This is the place to ask..</div>
<div><br>
</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>CJ O'Reilly <<a href="mailto:supaiku@gmail.com">supaiku@gmail.com</a>><br>
<span style="font-weight:bold">Date: </span>Wednesday, October 31, 2012 11:31 PM<br>
<span style="font-weight:bold">To: </span>"<a href="mailto:beowulf@beowulf.org">beowulf@beowulf.org</a>" <<a href="mailto:beowulf@beowulf.org">beowulf@beowulf.org</a>><br>
<span style="font-weight:bold">Subject: </span>[Beowulf] Digital Image Processing via HPC/Cluster/Beowulf - Basics<br>
</div>
<div><br>
</div>
<div>
<div>Hello, I hope that this is a suitable place to ask this, if not, I would equally appreciate some advice on where to look in lue of answers to my questions:<br>
You may guess that I'm very new to this subject.<br>
<br>
I am currently researching the feasibility and process of establishing a relatively small HPC cluster to speed up the processing of large amounts of digital images.
<br>
<br>
After looking at a few HPC computing software solutions listed on the Wikipedia comparison of cluster software page (
<a href="http://en.wikipedia.org/wiki/Comparison_of_cluster_software">http://en.wikipedia.org/wiki/Comparison_of_cluster_software</a> ) I still have only a rough understanding of how the whole system works.<br>
<br>
I have a few questions:<br>
1. Do programs you wish to use via HPC platforms need to be written to support HPC, and further, to support specific middleware using parallel programming or something like that?<br>
OR<br>
Can you run any program on top of the HPC cluster and have it's workload effectively distributed? --> How can this be done?<br>
2. For something like digital image processing, where a huge amount of relatively large images (14MB each) are being processed, will network speed, or processing power be more of a limiting factor? Or would a gigabit network suffice?<br>
3. For a relatively easy HPC platform what would you recommend?<br>
<br>
Again, I hope this is an ok place to ask such a question, if not please help refer me to a more suitable source.<br>
</div>
</div>
</span>
</body>
</html>