Software Archive
Read-only legacy content
17061 Discussions

Mulit-process service tool for xeon-phi

Surya_Narayanan_N_
1,040 Views

              I was wondering do we have any resource management tool for xeon-phi like CUDA MPS (it allows CUDA kernels to be processed concurrently on the same GPU; this can benefit performance when the GPU compute capacity is underutilized by a single application process. https://docs.nvidia.com/deploy/pdf/CUDA_Multi_Process_Service_Overview.pdf )? This tool improves the utilization of GPU so is there any Mulit-process service tool for xeon-phi? 

0 Kudos
8 Replies
JJK
New Contributor III
1,040 Views

there's no need for such a tool, as the Xeon Phi allows concurrent access by multiple users by default. It all depends on how you set up your Xeon Phi, but a default setup will allow multiple users acces. The Linux kernel running on the Xeon Phi itself will distribute the load across the different cores.

 

0 Kudos
Surya_Narayanan_N_
1,040 Views

Consider I have 2 compute intensive application and i would like to execute them each with 120 threads simultaneously. If I use the hybrid/offload mode how will i schedule/orchestrate these 2 applications to run in 120 threads inside xeon-phi? When I tried this my app1 and app2 both took 240 threads and both starved for resource. I felt the linux kernel was not efficient in multi-tasking them or it was doing very fine grained multi-tasking.

0 Kudos
JJK
New Contributor III
1,040 Views

you can use the environment variables KMP_NUM_THREADS and OMP_NUM_THREADS to achieve this (esp the first one) ; by setting

export KMP_NUM_THREADS=120

or in Windows,

set KMP_NUM_THREADS=120

you control the number of threads available to offloaded applications.

0 Kudos
TimP
Honored Contributor III
1,040 Views

You might pin each application to a distinct group of cores, e.g. by kmp_place_threads. As you said, having each hardware thread alternate between applications is a poor strategy.

0 Kudos
Surya_Narayanan_N_
1,040 Views

Thank you for your inputs. I know mic is usually not used for multi processing as it is an accelerator. I am trying to visualize how can mic be used in the cloud environment and if it is used, how to improve the core utilization in a multi-processing scenario? I am giving a loud thought here: I have queue of applications which wants to be executed in xeon phi. Few computational tasks which can scale till 100 threads, few completely parallel consuming 240 threads, few latency oriented once etc. My question is there any module which handles such scenarios or do you think there is any potential developing some resource manager which can improve the utilization of xeon phi in the context of cloud ?

0 Kudos
TimP
Honored Contributor III
1,040 Views

Has documentation of hstreams task queuing been put on hold, such that you're reluctant to consider it?

0 Kudos
Surya_Narayanan_N_
1,040 Views

I am not finding much about HSTREAMS except that it supports task concurrency. can you please direct me to the documents if you know any?

0 Kudos
TimP
Honored Contributor III
1,040 Views

lotsofcores.com/hStreams

0 Kudos
Reply