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