Comment « TCS_NUM » détermine le nombre maximum de threads dans une application Intel® SGX’application
- Définissez TCS_NUM sur 10 et TCS_POLICY à 1 dans le fichier de configuration de l’enclave.
- A ran application with more than 10 threads.
- L’application n’a pas bien exécuté et n’a pas fait l’objet d’un traitement de groupe.
- L’application s’est bien passé après TCS_NUM pour correspondre au nombre de threads.
TCS_NUM indique le nombre de structures de contrôle des threads (TCS) à allouer pour l’enclave.
De Intel SGX expliqué: l’implémentation SGX utilise une structure de contrôle des threads (TCS) pour chaque processeur logique qui exécute le code d’une enclave. Il s’en suit que l’auteur d’une enclave doit fournir au moins autant d’instances TCS que le nombre maximum de threads simultanés que l’enclave est destinée à prendre en charge.
Un TCS est constitué d’un point d’entrée de gamme et d’un pointeur vers la zone de sauvegarde de l’état et d’autres fonctionnalités. La section Structure du contrôle des threads du manuel de développement logiciel d’Intel fournit des détails sur le contenu du TCS.
S’il y a plus de threads que le nombre de TCS, les threads ne savent pas comment entrer dans l’enclave car le TCS n’existe pas.
Reportez-vous à Stratégie de liaison de threads pour obtenir des informations sur la TCS_POLICY.
TCS_NUM peuvent être définies plus haut que le nombre de cœurs de processeur. Le système d’exploitation gérera la planification des threads.