-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Are Scheduler and FileSystem passive on purpose #385
Comments
@jmaassen indicated this design was to remedy the problem that in Java GAT it was unclear what actions were immediate, and what actions needed interaction with the underlying system. The philosophy is then that This still runs counter to my intuition that a This would be a large overhaul with little added functionality, so I understand this may be a passed station now. |
I think it is reasonable to assume that programmers know certain actions are more expensive than others. For example, copying a big file to a harddrive on the other side of the world is going to be more expensive than instantiating a new object in local memory. The question, however, is how to communicate this to the programmer, or in fact whether you need to do so at all. My view is as follows:
At the very least, we should add a line to the documentation of relevant classes stating whether there are any side-effects (like creating a file, doing something over a potentially slow network, etc.). I'm not familiar enough with the Java world to know if it is feasible to expect people to do any profiling (It seems reasonable to expect people to first write an application, then test it, then profile it). Perhaps we could add functionality that would allow a programmer to check what's going on. I just had a similar discussion with @egpbos on slack, where I pointed to a visualization I made for esibayes: https://raw.githubusercontent.com/NLeSC/esibayes/master/src/mmsoda-toolbox/html/images/mmsodaAnalyzeTimings.png. I believe @Maartenvm has also made visualizations that help visualize what's going on (that was for JavaGAT if I recall). |
Should add this to design decision document Issue #431 |
Scheduler
andFileSystem
hardly do anything themselves, they needJobs
andFiles
to operate. Is this design on purpose? I would expect to submit a job to aScheduler
directly, or make a path on aFileSystem
.The text was updated successfully, but these errors were encountered: