Skip to content
This repository has been archived by the owner on Aug 5, 2022. It is now read-only.

maximum number of resources: 32 #9

Open
pohly opened this issue Mar 25, 2014 · 2 comments
Open

maximum number of resources: 32 #9

pohly opened this issue Mar 25, 2014 · 2 comments

Comments

@pohly
Copy link

pohly commented Mar 25, 2014

As you have seen in my murphy.lua as posted in some of the other issues, I had close to 30 resources defined. Today I added some more and murphyd failed after starting up with "Resource table overflow". According to the source, only 32 resources are supported, so that's by design.

32 is too low for my purposes. I could work around it for now by disabling some currently unused resources, but that's going to change again.

As a short-term solution, 64 would be okay, but long-term, there should be no such hard-coded limit at all because it's just not possible to anticipate what murphy will be used for.

@klihub
Copy link
Contributor

klihub commented Mar 26, 2014

Hi,

I rolled an experimental/proof-of-concept patch to see how a rather
straightforward lifting of the limitation of max. 32 resources could look
like and how it would effect the performance of the resource allocation
algorithm both as the number of overall resources and the number of
resources per resource set grows. The patch is still a bit incomplete, I
only removed the limitation from the core algorithm and most of the
protocol/IPC bindings. The various statically-sized resource-related
tracking data structures are still statically sized (but 1K should be
enough for everybody... for the time being ;-) I'll need to find some more
time to carve out for this to play around with and address the remaining
shortcomings so I could do some relevant measurements eventually.

Anyway, if you are interested or if the limitation is a serious problem,
you might want to take a look at the thing and give it a try. It's on the
kli/resource/unlimited branch. I did not have time to test even nearly
thoroughly (it's a pity we still lack unit test for the resource library
and protocols). I did give it a very basic banging with two resource
clients, 512+ defined resources and a resource-set of some 50+ resources
per client. It still seemed to do the correct thing, but if you decide to
give it a try I'm also interested in algorithmic misbehavior.

Cheers,
Krisztian

On Tue, Mar 25, 2014 at 3:01 PM, Patrick Ohly [email protected]:

As you have seen in my murphy.lua as posted in some of the other issues, I
had close to 30 resources defined. Today I added some more and murphyd
failed after starting up with "Resource table overflow". According to the
source, only 32 resources are supported, so that's by design.

32 is too low for my purposes. I could work around it for now by disabling
some currently unused resources, but that's going to change again.

As a short-term solution, 64 would be okay, but long-term, there should be
no such hard-coded limit at all because it's just not possible to
anticipate what murphy will be used for.


Reply to this email directly or view it on GitHubhttps://github.com//issues/9
.

@pohly
Copy link
Author

pohly commented Oct 21, 2014

FYI, I had to switch to the branch with support for more than 32 resources in the SyncEvolution nightly testing. It's working fine so far. Please continue working on removing that limit on the master branch.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants