Opened 14 years ago

Closed 14 years ago

#1526 closed task (wontfix)

Make jobagents serve several BASE servers

Reported by: Jari Häkkinen Owned by: Johan Enell
Priority: major Milestone:
Component: jobagent Version:
Keywords: Cc:


We run several BASE servers and have one cluster of machines running job agents for one of the BASE servers. Previously the load on the non-cluster using server has been fairly low but that is changing. So I got an idea that maybe the computer cluster we have could serve two masters. I know one could simply add another jobagent on each node to make them serve another BASE server. However, there will be no load balancing - what if two different BASE servers pushes memory demanding process at the same time to one machine? How about actually making the jobagents understand that they need to serve two BASE servers? Then the jobagent could be tuned for optimum performance. I could imagine that one BASE server is promoted to the configuration master.

Change History (3)

comment:1 by Nicklas Nordborg, 14 years ago

Milestone: BASE 3.0

It impossible with the current implementation for a single JVM to connect to more than one BASE server.

comment:2 by Nicklas Nordborg, 14 years ago

The above comment is strictly speaking not true since an application server (such as Tomcat) can use separate web-apps to load more than one instance of BASE. This works because a separate class loader is used for each app. Since classes loaded in different apps can't be shared the end result is the same as if they were running in different JVM:s.

The solution to the problem is to have some kind of external "scheduler" that keeps track of running jobs. Before a job agent is allowed to start a new job it must ask the scheduler if it is ok to do so. Eg. Agent.getSlot() should be replaced with something more elaborate.

comment:3 by Nicklas Nordborg, 14 years ago

Milestone: BASE 3.0
Resolution: wontfix
Status: newclosed

Has been replaced with #1528.

Note: See TracTickets for help on using tickets.