/Image-Negation-App-IPC

Quick tutorial on Inter-Process Communication using Negative Image generator server & client as a toy example

Primary LanguageC

Image Negation Application

Check the PDF file attached to find the particulars of this project.
(Image Negation means the negative of a grayscale image)

To build the server

cd Server
make

To build the client

cd Client
make all_profiled #Enables profiling
make all

To start the server

make run_server

To use the client and work with server

./userApp <input_image.png> <output_image.png>

Footnotes

  • Uses semaphores for synchronization.
  • Uses Shared Memory to share images between processes.
  • Multiple clients can use the same server.

Performance

HD Image : 1048.2350 ms
4K Image : 7113.9190 ms
330x300px : 46.2860 ms

To-Do

  • Parallellize the server using OpenMP to handle multiple requests at once.
  • Benchmark the performance when multiple clients are using the server at once.

Important links & References

Done by Gokul NC
This was an assignment given at MulticoreWare to learn Inter-Process Communication in C.