jtk כתב:...
...
מעניין. מה סוג ההעברה שעשית בצילום המסך הזה?
למה אתה מתכוון ב-interrupt, מעבד?
בכל מקרה, לשחק עם הגדרות ה-TCP/IP במערכת ההפעלה זה לא משהו לקהל הרחב. ומה עם כל מיני פרוטוקולי UDP? אני מקווה שבזק לא מתכננים לצאת לשוק עם תוכנית בחלוקת מהירות כזו. מבחינתי עדיף 20/5 על 1000/4.
...
·
זה בעצם נקרא packet processing event שהמעבד עושה.
הכרטיס רשת הוא זה שקובע כל כמה זמן לייצר event שכזה.
ככל שתאט את כמות ה-interrupt בשניה, קרי פחות packet processing events בשניה שהכרטיס רשת יעביר אל המעבד אז המערכת הפעלה שלך תייצר הרבה פחות ACK לתעבורה שנכנסת, בנוסף לכך גם יעלה הלייטנסי לכל עיבוד של פאקטה.
יש כרטיסים שנותנים לך לשלוט בזה, יש כאלה ברמה גבוהה ויש כאלו ברמה הכי בסיסית.
לדוגמא ב-RealTek יש לך את האופציה של adaptive interrupt moderation שזה בעצם לפי אלגוריתם מסויים של מינימום ומקסימום מיקרו שניות ולפי סוג התעבורה וגודל הפאקטות.
גם באינטל יש לך את האופציה הזאת אך אצל אינטל בכרטיסים הביתיים שלהם יש לך גם אפשרות לשנות את הפורפיל, שיתאים יותר לכיוון הלייטנסי שנקרא minimal וכזה שמתאים לתעבורה גבוהה - extreme.
בכרטיס רשת שלי יש לי שליטה מלאה על הלייטנסי של כל interrupt כל כמה מיקרו שניה יהיה interrupt:
לפי התמונה זה מוגדר על interrupt כל 60us(מליונית שניה).
הסוג תעבורה שאתה רואה שם היא TCP ולא UDP. אחרת לא היית רואה מהירות של 26 מגה שליחה (נטו ACK).
בכרטיס רשת זה הרבה יותר פשוט לשנות מאשר במערכת הפעלה וגם עובד בצורה הרבה יותר טובה.
אבל נכון שזה לא מתאים לקהל הרחב, מסכים איתך לגמריי.
אבל האם זה אפשרי? כמובן
זה כל הנקודה פה.