提交 41f3a2ac 编写于 作者: W wxyu

MS-379 Add Dump implementation in Resource


Former-commit-id: 0ad824b5d582fc7235a0e29919fdf5a2975bf534
上级 08a0f545
......@@ -30,6 +30,7 @@ Please mark all change in change log and use the ticket from JIRA.
- MS-376 - Add loader and executor enable flag in Resource avoid diskresource execute task
- MS-377 - Improve process thread trigger in ResourceMgr, Scheduler and TaskTable
- MS-378 - Debug and Update normal_test in scheduler unittest
- MS-379 - Add Dump implementation in Resource
## New Feature
- MS-343 - Implement ResourceMgr
......
......@@ -4,7 +4,6 @@
* Proprietary and confidential.
******************************************************************************/
#include <iostream>
#include "Scheduler.h"
#include "Cost.h"
#include "action/Action.h"
......
......@@ -11,6 +11,10 @@ namespace zilliz {
namespace milvus {
namespace engine {
std::ostream &operator<<(std::ostream &out, const CpuResource &resource) {
out << resource.Dump();
return out;
}
CpuResource::CpuResource(std::string name)
: Resource(std::move(name), ResourceType::CPU) {}
......
......@@ -19,6 +19,13 @@ public:
explicit
CpuResource(std::string name);
inline std::string
Dump() const override {
return "<CpuResource>";
}
friend std::ostream &operator<<(std::ostream &out, const CpuResource &resource);
protected:
void
LoadFile(TaskPtr task) override;
......
......@@ -10,6 +10,10 @@ namespace zilliz {
namespace milvus {
namespace engine {
std::ostream &operator<<(std::ostream &out, const DiskResource &resource) {
out << resource.Dump();
return out;
}
DiskResource::DiskResource(std::string name)
: Resource(std::move(name), ResourceType::DISK, true, false) {
......
......@@ -18,6 +18,13 @@ public:
explicit
DiskResource(std::string name);
inline std::string
Dump() const override {
return "<DiskResource>";
}
friend std::ostream &operator<<(std::ostream &out, const DiskResource &resource);
protected:
void
LoadFile(TaskPtr task) override;
......
......@@ -11,6 +11,10 @@ namespace zilliz {
namespace milvus {
namespace engine {
std::ostream &operator<<(std::ostream &out, const GpuResource &resource) {
out << resource.Dump();
return out;
}
GpuResource::GpuResource(std::string name)
: Resource(std::move(name), ResourceType::GPU) {}
......
......@@ -18,6 +18,13 @@ public:
explicit
GpuResource(std::string name);
inline std::string
Dump() const override {
return "<GpuResource>";
}
friend std::ostream &operator<<(std::ostream &out, const GpuResource &resource);
protected:
void
LoadFile(TaskPtr task) override;
......
......@@ -10,6 +10,11 @@ namespace zilliz {
namespace milvus {
namespace engine {
std::ostream &operator<<(std::ostream &out, const Resource &resource) {
out << resource.Dump();
return out;
}
Resource::Resource(std::string name,
ResourceType type,
bool enable_loader,
......
......@@ -74,6 +74,13 @@ public:
TaskTable &
task_table();
inline virtual std::string
Dump() const {
return "<Resource>";
}
friend std::ostream &operator<<(std::ostream &out, const Resource &resource);
public:
/*
* wake up loader;
......
......@@ -36,20 +36,47 @@ TEST(normal_test, test1) {
observe->task_table().Put(task2);
observe->task_table().Put(task3);
observe->task_table().Put(task4);
std::cout << "disk:" << std::endl;
std::cout << observe->task_table().Dump() << std::endl;
}
// if (auto disk_r = disk.lock()) {
// if (auto cpu_r = cpu.lock()) {
// if (auto gpu1_r = gpu1.lock()) {
// if (auto gpu2_r = gpu2.lock()) {
// std::cout << "<<<<<<<<<<before<<<<<<<<<<" << std::endl;
// std::cout << "disk:" << std::endl;
// std::cout << disk_r->task_table().Dump() << std::endl;
// std::cout << "cpu:" << std::endl;
// std::cout << cpu_r->task_table().Dump() << std::endl;
// std::cout << "gpu1:" << std::endl;
// std::cout << gpu1_r->task_table().Dump() << std::endl;
// std::cout << "gpu2:" << std::endl;
// std::cout << gpu2_r->task_table().Dump() << std::endl;
// std::cout << ">>>>>>>>>>before>>>>>>>>>>" << std::endl;
// }
// }
// }
// }
sleep(5);
if (auto observe = disk.lock()) {
std::cout << "disk:" << std::endl;
std::cout << observe->task_table().Dump() << std::endl;
}
if (auto observe = cpu.lock()) {
std::cout << "cpu:" << std::endl;
std::cout << observe->task_table().Dump() << std::endl;
}
// if (auto disk_r = disk.lock()) {
// if (auto cpu_r = cpu.lock()) {
// if (auto gpu1_r = gpu1.lock()) {
// if (auto gpu2_r = gpu2.lock()) {
// std::cout << "<<<<<<<<<<after<<<<<<<<<<" << std::endl;
// std::cout << "disk:" << std::endl;
// std::cout << disk_r->task_table().Dump() << std::endl;
// std::cout << "cpu:" << std::endl;
// std::cout << cpu_r->task_table().Dump() << std::endl;
// std::cout << "gpu1:" << std::endl;
// std::cout << gpu1_r->task_table().Dump() << std::endl;
// std::cout << "gpu2:" << std::endl;
// std::cout << gpu2_r->task_table().Dump() << std::endl;
// std::cout << ">>>>>>>>>>after>>>>>>>>>>" << std::endl;
// }
// }
// }
// }
scheduler->Stop();
res_mgr->Stop();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册