Search Feedback

39
votes

Thread management - ECS/Job system

General

-

-

After some time messing with the ECS/Job system package, I hit some "problems" which are kinda annyoing the work with.
As I am building my project around ENet with a dedicated thread for network I/O and maybe one other thread on top of that for other coarse-grained tasks, I begin to see the need for a possibility to limit the used cores/threadnumber server-side for each running unity headless instance.

Right now I am testing my project on a 4C/8T CPU and I really would like to have two server instances running, using two Cores each. But with how the job system is working at the moment, it is having those instances fighting for free cores instead of having pre-defined reliable ressources.

Solutions for this problem:
1. It would be really useful to be able to set the amount of used cores/max threads for each project.
2. The possibility to check which cores are free to bind to (if job system worker threads are bound to logical threads).
3. Having an API to differ coarse-grained jobs from fine-grained operations.

Comments (1)

  1. 94fec7276760bdd03c37f197dfbf7f61?d=mm

    Vincenzo

    Feb 15, 2019 09:17

    This is really needed for bring unity on the next level for servers, many servers in the clouds are many-core machines and unity is giving us no control on threads.

Your opinion counts

Help us make things better. Share your great idea for improving Unity or vote for other people’s.

Log in to post a new idea

Categories

All

(11030)

2D

(290)

Ads

(63)

AI & Navigation

(83)

Analytics

(130)

Animation

(413)

Asset Store

(370)

Asset Store Publisher

(21)

Assets

(557)

Audio

(185)

Cloud Build

(154)

Collaborate

(70)

Docs & Tutorials

(251)

Editor

(2579)

Everyplay

(17)

Game Performance Reporting

(22)

General

(1003)

Graphics

(903)

GUI

(447)

Input

(173)

Licensing

(93)

Networking

(192)

Physics

(392)

Platforms

(448)

Profiling & Optimization

(84)

Runtime

(188)

Scripting

(1154)

Terrain

(177)

WebGL

(145)