{"action":"created","issue":{"url":"https://api.github.com/repos/opencog/opencog/issues/1992","repository_url":"https://api.github.com/repos/opencog/opencog","labels_url":"https://api.github.com/repos/opencog/opencog/issues/1992/labels{/name}","comments_url":"https://api.github.com/repos/opencog/opencog/issues/1992/comments","events_url":"https://api.github.com/repos/opencog/opencog/issues/1992/events","html_url":"https://github.com/opencog/opencog/pull/1992","id":126523448,"number":1992,"title":"Add multi-threaded agent running support to CogServer","user":{"login":"hedayat","id":497092,"avatar_url":"https://avatars.githubusercontent.com/u/497092?v=3","gravatar_id":"","url":"https://api.github.com/users/hedayat","html_url":"https://github.com/hedayat","followers_url":"https://api.github.com/users/hedayat/followers","following_url":"https://api.github.com/users/hedayat/following{/other_user}","gists_url":"https://api.github.com/users/hedayat/gists{/gist_id}","starred_url":"https://api.github.com/users/hedayat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hedayat/subscriptions","organizations_url":"https://api.github.com/users/hedayat/orgs","repos_url":"https://api.github.com/users/hedayat/repos","events_url":"https://api.github.com/users/hedayat/events{/privacy}","received_events_url":"https://api.github.com/users/hedayat/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2016-01-13T21:47:29Z","updated_at":"2016-02-11T06:14:43Z","closed_at":"2016-01-16T21:31:36Z","pull_request":{"url":"https://api.github.com/repos/opencog/opencog/pulls/1992","html_url":"https://github.com/opencog/opencog/pull/1992","diff_url":"https://github.com/opencog/opencog/pull/1992.diff","patch_url":"https://github.com/opencog/opencog/pull/1992.patch"},"body":"This patchset adds the possibility to run agents in multiple threads. One or more agents can be assigned to named threads. "},"comment":{"url":"https://api.github.com/repos/opencog/opencog/issues/comments/182733410","html_url":"https://github.com/opencog/opencog/pull/1992#issuecomment-182733410","issue_url":"https://api.github.com/repos/opencog/opencog/issues/1992","id":182733410,"user":{"login":"pennachin","id":477642,"avatar_url":"https://avatars.githubusercontent.com/u/477642?v=3","gravatar_id":"","url":"https://api.github.com/users/pennachin","html_url":"https://github.com/pennachin","followers_url":"https://api.github.com/users/pennachin/followers","following_url":"https://api.github.com/users/pennachin/following{/other_user}","gists_url":"https://api.github.com/users/pennachin/gists{/gist_id}","starred_url":"https://api.github.com/users/pennachin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pennachin/subscriptions","organizations_url":"https://api.github.com/users/pennachin/orgs","repos_url":"https://api.github.com/users/pennachin/repos","events_url":"https://api.github.com/users/pennachin/events{/privacy}","received_events_url":"https://api.github.com/users/pennachin/received_events","type":"User","site_admin":false},"created_at":"2016-02-11T06:14:43Z","updated_at":"2016-02-11T06:14:43Z","body":"@linas a clarification on the design for this PR, which seems to have confused you. Agents are not threads. The AgentRunnerThread can run one or more agents. One could have a one-to-one mapping, but ECAN, for instance, is currently designed as set of agents designed to run in sequence. So it's up to people using this code to decide on the mapping of agents to worker threads.\r\n\r\nEvery agent's run method is supposed to return within a relatively short time. This is the existing \"contract\" for MindAgents. While we all seem to agree that the MindAgent design should be improved, this PR is agnostic in that respect. It just removes the restriction that all agents are run in a single thread via collaborative timeslicing by enabling the worker threads. As I explained a month ago, we punted on the MindAgent redesign, but didn't see that as a reason to punt on parallel MindAgent execution. \r\n\r\nGiven these goals, I don't see how this PR, which you merged, is a complete failure. Sure, there's useful ways to improve it, but it seems to do its job."}}