Relative Content

Tag Archive for distributed-computing

Chrome’s multiple process per each tabs

I am wondering what is the purpose of Chrome using multiple processes for each tabs? I asked this to C++ chat room and one responded it is a product of laziness. I personally believe this is an example of “Distributed processing” like in Erlang programming language. What exactly is it?

Design patterns for multi-threaded messaging server

I’m designing an instant messaging server as a personal exercise to improve my understanding and application of multi-threading and design patterns in Java. I’m still designing, there’s no code yet.

Design patterns for multi-threaded messaging server

I’m designing an instant messaging server as a personal exercise to improve my understanding and application of multi-threading and design patterns in Java. I’m still designing, there’s no code yet.

Design patterns for multi-threaded messaging server

I’m designing an instant messaging server as a personal exercise to improve my understanding and application of multi-threading and design patterns in Java. I’m still designing, there’s no code yet.

New nodes joining distributed genetic algorithm

I’m sort of torn on what to do for implementation of my distributed genetic algorithm problem. I would like to be able to have nodes join and part at will and not take down the whole system. But this introduces the problem of mismatch of generations. Often times a genetic algorithm simulation is capped by a certain amount of generations and if I have a node that is on 75 out of 100 generations and a brand new node joins the cluster I’m not sure if I should fake it and start at 75 and copy one of the other nodes as a starting point or have it start out at 0 and potentially have the results delayed until the end of execution of the new node. I was hoping someone had some input on what they could see as problems in addition to a long wait time with this new node if I start at 0, I am struggling to think of what could go wrong in both approaches other than that.

New nodes joining distributed genetic algorithm

I’m sort of torn on what to do for implementation of my distributed genetic algorithm problem. I would like to be able to have nodes join and part at will and not take down the whole system. But this introduces the problem of mismatch of generations. Often times a genetic algorithm simulation is capped by a certain amount of generations and if I have a node that is on 75 out of 100 generations and a brand new node joins the cluster I’m not sure if I should fake it and start at 75 and copy one of the other nodes as a starting point or have it start out at 0 and potentially have the results delayed until the end of execution of the new node. I was hoping someone had some input on what they could see as problems in addition to a long wait time with this new node if I start at 0, I am struggling to think of what could go wrong in both approaches other than that.

New nodes joining distributed genetic algorithm

I’m sort of torn on what to do for implementation of my distributed genetic algorithm problem. I would like to be able to have nodes join and part at will and not take down the whole system. But this introduces the problem of mismatch of generations. Often times a genetic algorithm simulation is capped by a certain amount of generations and if I have a node that is on 75 out of 100 generations and a brand new node joins the cluster I’m not sure if I should fake it and start at 75 and copy one of the other nodes as a starting point or have it start out at 0 and potentially have the results delayed until the end of execution of the new node. I was hoping someone had some input on what they could see as problems in addition to a long wait time with this new node if I start at 0, I am struggling to think of what could go wrong in both approaches other than that.

What is lightweight lock in distributed shared memory systems?

I started reading Tanenbaum’s Distributed Systems book a while ago. I read about two phase locking and timestamp reordering in transactions chapter. While having a deeper look from google I heard of lightweight transactions/lightweight transactional memory. But I couldn’t find any good explanation and implementation. So what is lightweight memory? What are the benefits of lightweight locks? And how can I implement them?

How to rebalance data across nodes?

I am implementing a message queue where messages are distributed across nodes in a cluster. The goal is to design a system to be able to auto-scale without needing to keep a global map of each message and its location.

What are the best tools for network development in python

I have always been frustrated with the tools/techniques available to implement even the smallest instance of multi-processing, e.g. a group of processes that talk to each other. There needs to be clear and concise way for processes to exchange data, like job details. Have always found solutions like HTTP/rest to be constraining (its synchronous) and needing boilerplate code. Its normal for the networking details to dominate the source code. Similar frustrations are present when writing most networking software involving multiple hosts. Management of server addresses is also an ever-present issue. How do you get multiple developers working on a complex networking solution without stepping on each others addresses?