נתונים בין פרוססים

אמיר ט

New member
נתונים בין פרוססים

יש לי map של STL בפרוסס X, אני רוצה לגשת אליו מפרוסס Y, אבל גישה ברמה כאילו הוא היה שלי לכל דבר. יש דרך לגשת ל heap של פרוסס אחר ? נגיד ומספיק לי רק הרשאות קריאה ממנו.
 
תחפש מידע על DCOM

זה כמו הRemoting שקיים ב.NET, כלומר נותן לך לגשת לאובייקט שנמצא על מחשב מרוחק (או פרוסס אחר) ועוטף לך את ההתקשרות אליו כדי שתוך לקרוא למתודות שלו כאילו היה אובייקט שלך. אולי יש דרך טובה יותר לעשות את זה (כי מדובר באותו מחשב), אבל אני בספק..
 

the new L

New member
זה יהיה

טוב רק ל Windows... פיתרון אפשרי אחר שאני יכול לחשוב עליו הוא שימוש ב Shared memory
 

אמיר ט

New member
כבר חשבתי על shared memory

אבל הבעיה היא שmap מקצה לבד את הזיכרון שלו, אבל חשבתי לממש Allocator משלי שיקבל shared memory ו"יקצה" עליו זיכרון. זה לדעתי יעבוד ממש נחמד ויכול להיות פתרון יפה אבל לא מצאתי הרבה מידע על מימושי Allocatorים בחיפושים שעשיתי. אם מישהו יוכל לעזור או להפנות אותי למקור טוב זה יהיה מאד נחמד.
 

Under Death

New member
אני הייתי עושה את הדבר הבא.

מכיוון שגישה ישירה להיפ נעשית בעיקר דרך הSHELL (תלוי באיזה שפה ובאיזה מערכת הפעלה אתה משתמש), יהיה לך קשה מאוד לגשת למקום ספציפי בהיפ. במקום זה תנסה פשוט להעביר את המידע שלך לאיזה קובץ ואז אין לך (לרוב) בעייה של גישה.
 

galh

New member
מאיפה הבאת את זה?! ../images/Emo12.gif

גישה ל- heap דרך ה- shell?! למה בדיוק אתה קורא shell (אולי אתה משתמש במושגים שונים משלי)?
 

אמיר ט

New member
לא ממש רעיון טוב

נתחיל בזה שלהכניס map שלם לתוך קובץ רק כדי לקרוא ממנו ערך אחד (נגיד) בפרוסס אחר זה חוסר יעילות מטורף. בנוסף זה map שמתעדכן כל הזמן, והרבה ולכן אני כל הזמן צריך לעדכן את הקובץ הזה לפי השיטה שלך... בנוסף, לשני הפרוססים צריכה להיות אפשרות של כתיבה לmap הזה, אז אני צריך להוסיף עכשיו מנגנון נעילות שיוודע שאני לא עושה כאן דברים רעים. בקיצור זה לא יעיל בכלל, ואני מחפש פיתרון שיתן לי יעילות כמה שיותר גבוהה
 

voguemaster

New member
המממ

תנסה להקצות map באיזור של shared memory ששני הפרוססים רואים. כך שניהם יוכלו לגשת אליו.
 

אמיר ט

New member
בדיוק

זה בדיוק מה שאני רוצה לעשות, אבל העניין הוא שmap הרי מקצה זיכרון בעצמו כדי לגדול, ולכן אני אבנה Allocator שיקצה זיכרון על shared memory ואז זה אמור לעבוד.
 
למעלה