Hello swift-user,<div><br></div><div>I had a question about the design of my program. My program involves a fair bit of matrix manipulations, so instead of writing the control structure of the program in swift, I've written most of the logic and data management in matlab scripts. The only functionality of swift that I use is to parallelize large for-loops, while the code that runs my swift scripts, and the apps that swift distributes inside each for-loop, are written in matlab. In essence, I've created a program in matlab which calls a swift script many times in serial, using swift to distributing many jobs in parallel.</div>
<div><br></div><div>The issue I've come across is that after a certain number of serial calls to swift, I need to do a significant amount of data crunching before I can resume making serial swift calls. This data crunching is resource-intensive enough that it can't be done on a log in node, but not nearly intensive enough that it needs to be broken down into component parts and parallelized. My question is, what is the correct way of handling this situation? Does it make sense to write a separate swift script whose body only contains a single app call, so I can get this minor job run on one of the compute nodes? If I do it that way, will there likely be a significant delay while the scheduler processes my request, or is it likely to go through quickly because I'm only asking for one node for a short period of time?</div>
<div><br></div><div>Thanks for your comments,</div><div><br></div><div>Jonathan</div>