http://condor.cc.ku.edu/~grobe/docs/intro-MPI-C.shtml

I want to use message passing interface in C programs running on Raspberry Pi 3's running Raspbian Stretch, but I don't know which package to install via apt for mpi.h. There is the question of whether or not I can catch on to how mpi works quickly. I have a hard December 12th deadline to make three C programs work at least decently together. Program A produces a PNG file, program B tries to lock that file and display it. There are a few cases to consider. Case 1, the file does not exist, Case 2, the file exists but is not completely written out, Case 3, the file is written out and ready, Case 4, file exists but it is not a good PNG file. The programs currently try to lock the file in question, but you don't want to lock on Cases 1, 2, or 4. Best if A can signal B to process the file when the file is ready. Signalling is preferable because the file is being frequently replaced by
program A.

A separate issue, program A needs to start before program B because program B needs the file that A creates. Thoughts on how to fix program B so that it will sleep and not lock the file before A has created it are very much appreciated. One caveat, B should print an error message if A doesn't get the file made in 12-20 seconds. The only thought I have is can a C program check for a specific process by name and sleep if that process can't be found? Program B should NEVER run in the absence of program A for more than a few seconds and B should wait for no longer than twenty seconds to let
A complete production of the PNG file it needs.

A friend and professional programmer recommends that the project be redone in the Go programming language. Thoughts on using Go, sticking with C, or switching to C++ are very much appreciated. OpenCV is C++ based by the way and we are doing computer vision processing in this project. The C language predates multi core programs that run multiple threads and pass information via multiple processes and multiple files. The PNG file is written to an NFS 4 share by the way as well, so there is a networking component involved. I don't have much time to figure out the networking part let alone change it sadly. When you have multiple projectors calling one controller, that gets to be a lot for that controller. Pi 3's are limited. What tools should I be using to troubleshoot the controller and make sure it isn't being overloaded? I want to answer this question accurately, "How many projectors can one controller support?" If the system isn't fast enough, it won't be used and everyone at Apex will be put out of work :-(
_______________________________________________
PLUG mailing list
PLUG@pdxlinux.org
http://lists.pdxlinux.org/mailman/listinfo/plug

Reply via email to