Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

suggestions on a project in C++ / distributed systems / networks

I'd like to work on a 2-3 month long project (full time) that involves coding in C++ and is related to networks (protocol stacks). I was considering writing my own network stack but that doesn't seem as interesting. It would be great to find an idea to implement a tcp/ip-like stack for distributed system/GPUs that is better as far as network performance goes. I have been googling this for 3 hours but haven't come across anything that seems worth spending 2 months on. Open source projects like netperf seem beyond my scope. I'd really like a relatively small stand alone project that I can work on, at my own pace. The intent of this project is to utilize my free time on a project (that I might later release under open source license) and gain expertise and hands-on experience in C++, networks, parallel programming, GPU, distributed systems etc.

I seem to have hit a roadblock while finding ideas (or perhaps I am not too clear on what I exactly what to do). So any suggestions would be really appreciated. Thanks!

like image 581
dagny_t13 Avatar asked Jun 05 '09 18:06

dagny_t13


People also ask

What are the goals for a good distributed system?

The main goal of a distributed system is to make it easy for users to access remote resources, and to share them with other users in a controlled manner. Resources can be virtually anything, typical examples of resources are printers, storage facilities, data, files, web pages, and networks.

What is a distributed system project?

A distributed system is a collection of computer programs that utilize computational resources across multiple, separate computation nodes to achieve a common, shared goal.

What are some examples of distributed systems used today?

Telephone and cellular networks are also examples of distributed networks. Telephone networks have been around for over a century and it started as an early example of a peer to peer network. Cellular networks are distributed networks with base stations physically distributed in areas called cells.

What are various goals and issues of distributed systems?

The key goals of a distributed system include: Transparency: Achieving the image of a single system image without concealing the details of the location, access, migration, concurrency, failure, relocation, persistence and resources to the users. Openness: Making the network easier to configure and modify.


2 Answers

If you are specifically interested in doing network programming with an emphasis on distribution and GPU/graphics stuff, you may want to check out the open source (GPL) CIGI project (sourceforge project site:

CIGI is an open simulation protocol for communication between a host device and IG (image generator). The Common Image Generator Interface (CIGI) is an interface designed to promote a standard way for a host device to communicate with an image generator (IG) in the simulation industry.

CIGI is a fairly active project on sourceforge, initiated and backed by BOEING, and is multi-platform software:

The goal of the Common Image Generator Interface (CIGI) SG is to evaluate industry and government interest in developing a standard image generator interface. Typically, today's Image Generator (IG) vendors have their own closed, proprietary run-time interfaces. At I/ITSEC'02, Boeing proposed their Open Source Common Image Generator Interface (CIGI) as a run-time interface that could be adopted by the simulation community. Boeing indicated that they would like to see a standards organization adopt CIGI and develop it into a robust and broadly accepted simulation industry image generator run-time interface standard. The SG is discussing this proposal, evaluating alternatives, and generating recommendations and a proposed action plan.

Here's some wireshark-based info on CIGI

like image 66
none Avatar answered Oct 14 '22 03:10

none


Have you tried Ace Wrappers. http://www.cs.wustl.edu/~schmidt/ACE.html It provide well tested pattern based C++ implementation for distributed network programming.

like image 24
suprit chaudhary Avatar answered Oct 14 '22 04:10

suprit chaudhary