You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

aiService.go 1.4 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package service
  2. import (
  3. "context"
  4. "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/scheduler/service/collector"
  5. "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/scheduler/service/executor"
  6. "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/storeLink"
  7. "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
  8. )
  9. const (
  10. OCTOPUS = "Octopus"
  11. MODELARTS = "Modelarts"
  12. SHUGUANGAI = "ShuguangAi"
  13. )
  14. var (
  15. AiTypeMap = map[string]string{
  16. "Hanwuji": OCTOPUS,
  17. "Suiyan": OCTOPUS,
  18. "Sailingsi": OCTOPUS,
  19. "modelarts-CloudBrain2": MODELARTS,
  20. "ShuguangAi": SHUGUANGAI,
  21. }
  22. )
  23. func InitAiClusterMap(ctx context.Context, svcCtx *svc.ServiceContext) (*map[string]executor.Executor, *map[string]collector.ResourceCollector) {
  24. executorMap := make(map[string]executor.Executor)
  25. collectorMap := make(map[string]collector.ResourceCollector)
  26. for k, v := range AiTypeMap {
  27. switch v {
  28. case OCTOPUS:
  29. octopus := storeLink.NewOctopusLink(ctx, svcCtx, k, 0)
  30. collectorMap[k] = octopus
  31. executorMap[k] = octopus
  32. case MODELARTS:
  33. modelarts := storeLink.NewModelArtsLink(ctx, svcCtx, k, 0)
  34. collectorMap[k] = modelarts
  35. executorMap[k] = modelarts
  36. case SHUGUANGAI:
  37. sgai := storeLink.NewShuguangAi(ctx, svcCtx, k, 0)
  38. collectorMap[k] = sgai
  39. executorMap[k] = sgai
  40. }
  41. }
  42. return &executorMap, &collectorMap
  43. }

PCM is positioned as Software stack over Cloud, aiming to build the standards and ecology of heterogeneous cloud collaboration for JCC in a non intrusive and autonomous peer-to-peer manner.