コード例 #1
0
ファイル: test_cluster.py プロジェクト: ueshin/mars
    def testNSchedulersNWorkers(self, *_):
        calc_cpu_cnt = functools.partial(lambda: 4)

        self.assertEqual(
            LocalDistributedCluster._calc_scheduler_worker_n_process(
                None, None, None, calc_cpu_count=calc_cpu_cnt), (2, 4))
        # scheduler and worker needs at least 2 processes
        self.assertEqual(
            LocalDistributedCluster._calc_scheduler_worker_n_process(
                1, None, None, calc_cpu_count=calc_cpu_cnt), (2, 2))
        self.assertEqual(
            LocalDistributedCluster._calc_scheduler_worker_n_process(
                3, None, None, calc_cpu_count=calc_cpu_cnt), (2, 2))
        self.assertEqual(
            LocalDistributedCluster._calc_scheduler_worker_n_process(
                5, None, None, calc_cpu_count=calc_cpu_cnt), (2, 3))
        self.assertEqual(
            LocalDistributedCluster._calc_scheduler_worker_n_process(
                None, 1, None, calc_cpu_count=calc_cpu_cnt), (1, 4))
        self.assertEqual(
            LocalDistributedCluster._calc_scheduler_worker_n_process(
                None, 3, None, calc_cpu_count=calc_cpu_cnt), (3, 4))
        self.assertEqual(
            LocalDistributedCluster._calc_scheduler_worker_n_process(
                None, None, 3, calc_cpu_count=calc_cpu_cnt), (2, 3))
        self.assertEqual(
            LocalDistributedCluster._calc_scheduler_worker_n_process(
                5, 3, 2, calc_cpu_count=calc_cpu_cnt), (3, 2))
コード例 #2
0
ファイル: test_cluster.py プロジェクト: ueshin/mars
    def testLocalCluster(self, *_):
        endpoint = gen_endpoint('0.0.0.0')
        with LocalDistributedCluster(endpoint,
                                     scheduler_n_process=2,
                                     worker_n_process=3,
                                     shared_memory='20M') as cluster:
            pool = cluster.pool

            self.assertTrue(
                pool.has_actor(
                    pool.actor_ref(SchedulerClusterInfoActor.default_uid())))
            self.assertTrue(
                pool.has_actor(
                    pool.actor_ref(SessionManagerActor.default_uid())))
            self.assertTrue(
                pool.has_actor(pool.actor_ref(DispatchActor.default_uid())))

            with new_session(endpoint) as session:
                api = session._api

                t = mt.ones((3, 3), chunk_size=2)
                result = session.run(t, timeout=_exec_timeout)

                np.testing.assert_array_equal(result, np.ones((3, 3)))

            self.assertNotIn(session._session_id,
                             api.session_manager.get_sessions())