Torna indietro   Hardware Upgrade Forum > Software > Programmazione

AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI è l'appuntamento annuale con il quale l'azienda americana mostra quelle che sono le proprie novità dal versante datacenter. Tra piattaforma Helios, GPU Instinct MI455X e processori EPYC di sesta generazione tutto quello che serve per processare l'IA sempre più complessa ed esigente
Tascabile e con Android: BOOX Go 6 Gen II è diverso da tutti gli altri e-reader
Tascabile e con Android: BOOX Go 6 Gen II è diverso da tutti gli altri e-reader
BOOX Go 6 Gen II porta per la prima volta il supporto allo stilo su un e-reader da 6 pollici, affiancando 3 GB di RAM al collaudato Snapdragon 665 e un design rivisto con scocca posteriore a costolature. Su carta la proposta è interessante, ma Android 11 fuori supporto, l'assenza di un alloggiamento per il pennino e un'autonomia ridotta rispetto agli e-reader tradizionali sono i compromessi da accettare
Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro
Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro
Lenovo Idea Tab Plus prova a portare un display da 12,1 pollici 2.5K, quattro speaker Dolby Atmos e una batteria da 10.200 mAh sotto la soglia psicologica dei 300 euro, penna inclusa. Lo abbiamo usato per oltre una settimana per capire dove l'azienda ha tagliato e dove invece ha tenuto il punto
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-11-2007, 12:41   #1
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
[C++]shared memory: dubbio

Ho un dubbio sulla shared memory:

devo far comunicare 2 processi e la cosa più veloce è la shmem (accetto consigli anche su scelte migliori) visto che ho una piccola e fixed area di memoria da usare.

Un server che gira (murmur da me modificato) che comunica con vari clients (mumble da noi modificato) ed un monitor che controlla chi è connesso a chi.

Ho usato una maschera di bit (sandard class bitset ) dove ogni bit rappresenta una connessione in una matrice di connessioni. Ogni volta che uno si s/collega aggiorno la maschera e la copio nella shared mem.

Codice:
memcpy( Server::pShMem + 1, &UserBits, SHARED_MEM_SIZE * 8);
Il monitor con un timer controlla la shared mem, la copia

Codice:
memcpy( &BtnMatrix, pShMem + 1, SHARED_MEM_SIZE * 8 );
e disegna una matrice.

+ 1 perchè il primo byte è il semaforo ... e quì casca l'asino

in entrambi ho messo questo controllo:
Codice:
		
while (*pShMem != SHARED_MEM_FREE_ID) // waits for the semaphore free
	usleep(2000);
ma se, per esempio A, dopo aver controllato decide di mettere il semaforo ad 1
ma in quel preciso momento B ha appena controllato e mette a 2 ? c'è un modo per risolvere il problema ? a me sembra di no.

L'unica soluzione che vedo è mettere il monitor in un thread del server ma significherebbe riscrivere tutto!!! il mio monitor è fatto con wxWidgets, il server con QT.

Il problema è che per adesso il monitor fa solo da monitor ma dovrà anche funzionare da interruttore delle connessioni, quindi dovrà anche scrivere sulla shared memory.

Spero di essere stato chiaro ....

grazie

PS: il post è così lungo e dettagliato perchè avevo anche un problema sulla dimensione della memoria, adesso risolto con * 8
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot AMD Advancing AI 2026: l'hardware AMD per le ela...
Tascabile e con Android: BOOX Go 6 Gen II è diverso da tutti gli altri e-reader Tascabile e con Android: BOOX Go 6 Gen II &egrav...
Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro Recensione Lenovo Idea Tab Plus: il tablet da 12...
Oltre il contante e le crypto: tutto sull'Euro Digitale e la nuova sovranità monetaria europea Oltre il contante e le crypto: tutto sull'Euro D...
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere? Recensione HONOR Magic V6: spessore record e sup...
Google introduce l'accesso all'account c...
Basta una cartella e l'agente di Claude ...
OpenAI: i modelli "ragionano meglio...
Dieci morti o 100 milioni di danni: le s...
La modalità vocale di Claude lasc...
Marvel's Wolverine torna a mostrarsi con...
Aruba AI Site Manager, l'IA per gestire ...
Servono 4 chip Huawei per pareggiare una...
Crollo di benzina e diesel in Europa: le...
Il nuovo trailer del film di Resident Ev...
Star Wars Zero Company svela il cast e p...
Da 0,7 a 20 FPS: Doom domato su una CPU ...
Amazon col caldo fa pazzie: TOP 15 con p...
Lego ricrea Donkey Kong da sala giochi e...
ChatGPT ignora l'embolia polmonare: uten...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:33.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v