Feature: Zz Slotfocus Faster completion of chunks during UL
#61
Posted 09 October 2005 - 10:54 AM
My problem however is that this feature works too well
My situation was that emule had been running constantly for about a month. Somebody contacted me in PM and asked for a friend slot. As the file was rare I agreed as I wanted to help it spread. However, I had to reboot my pc only moments before the friend slot was granted.
The result was that even though i was doing a good thing and spreading a rare file, because my session was deemed to just have started due to the restart i fell foul of 1:3 ratio for sharing. My friend took my enitre bandwidth because of this feature.
Anyway, i had some ideas on how it might be resolved:-
* It might be a good idea therefore if this feature could temporarily be disabled so that upload is shared equally between many users
* Perhaps this feature could recognise not to give full bandwidth to a friend if close to the 1:3 ratio
* This feature should be customizable, eg specifying a max speed per slot.
* Friend slot feature should be more customizable, eg i specify i want my friend to take 'x' KB/s and the rest is focused on a non friend.
* ZZUL should recognise that I have just started a session so my 1:3 ratio is very easily breached. Perhaps it shouldnt take a longer term view rather than punish me for needing to restart.
Personally i prefer the 4th option, any thoughts?
#62
Posted 09 October 2005 - 12:17 PM
Seven for the Dwarf-lords in their halls of stone,
Nine for Mortal Men doomed to die,
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
One Ring to rule them all, One Ring to find them,
One Ring to bring them all and in the darkness bind them
In the Land of Mordor where the Shadows lie.
Dark Lord of the Forum
Morph your Mule
Need a little help with your MorphXT? Click here
#63
Posted 09 October 2005 - 12:29 PM
We all happily ban kick&push featured mods, but then we use the friends slot for the same purposes.
I think the 1:3 ratio should be accounted from the start for many reasons. One is that otherwise it is exploitable (you can restart when the granted time is over).
#64
Posted 07 November 2005 - 11:34 AM
Recently I give a try to your mod since I found very interesting this feature, But I seen more than 3 times a situation That I don't understand. Seems that the Slot one is not set to the oldest client in Upload queue, is just a glitch on display ? or there is another reason ?
If I sort the upload list, I see that the slot number 1 is newest than others, I mean, that I expect to see something like that.
Slot Transfering time
1 10:15
2 8:50
3 5:30
4 1:10
but I found
Slot Transfering Time
2 10:15
1 8:50
3 5:30
4 1:1
Chears
#65
Posted 07 November 2005 - 12:29 PM
/zz
#66
Posted 07 November 2005 - 01:09 PM
I've PowerShare not enabled. Just replaced an Official Emule 46c by your executable. Without modify any parameter nor enabling any feature by hand.
About LowID, I've HighID, didn't check if that client has or not LowID.
Chears
#67
Posted 07 November 2005 - 02:47 PM
#68
Posted 07 November 2005 - 04:09 PM
All the priorities are normal. I Don't like the auto priorities.
#69
Posted 07 November 2005 - 05:54 PM
#71
Posted 08 November 2005 - 07:50 AM
If you don't have any PS file, then it is more likely the at lest one of those was a LowID client.
@Wizard
Can't remember a resort by file priority, though I may not remember right. For sure slots are not reordered by score after they've been started (so a client with a lower score is not preempted if one with a higher score obtains an upload slot).
Should check the code, though zz may be more precide on this.
#72
Posted 08 November 2005 - 03:56 PM
Quote
CUpDownClient* uploadingClient = uploadinglist.GetAt(pos);
if(uploadingClient->IsScheduledForRemoval() == false && newclient->IsScheduledForRemoval() == true ||
uploadingClient->IsScheduledForRemoval() == newclient->IsScheduledForRemoval() &&
(
uploadingClient->HasCollectionUploadSlot() && !newclient->HasCollectionUploadSlot() ||
uploadingClient->HasCollectionUploadSlot() == newclient->HasCollectionUploadSlot() &&
(
(uploadingClient->IsFriend() && uploadingClient->GetFriendSlot()) == true && (newclient->IsFriend() && newclient->GetFriendSlot()) == false ||
(uploadingClient->IsFriend() && uploadingClient->GetFriendSlot()) == (newclient->IsFriend() && newclient->GetFriendSlot()) &&
(
uploadingClient->GetPowerShared() == true && newclient->GetPowerShared() == false ||
uploadingClient->GetPowerShared() == true && newclient->GetPowerShared() == true && uploadingClient->GetFilePrioAsNumber() > newclient->GetFilePrioAsNumber() ||
(
uploadingClient->GetPowerShared() == true && newclient->GetPowerShared() == true && uploadingClient->GetFilePrioAsNumber() == newclient->GetFilePrioAsNumber() ||
uploadingClient->GetPowerShared() == false && newclient->GetPowerShared() == false
) &&
(
//uploadingClient->GetDatarate() > newclient->GetDatarate() ||
//uploadingClient->GetDatarate() == newclient->GetDatarate() &&
!newclient->IsScheduledForRemoval() &&
(
!newclient->HasLowID() ||
!newclient->m_dwWouldHaveGottenUploadSlotIfNotLowIdTick ||
newclient->HasLowID() && newclient->m_dwWouldHaveGottenUploadSlotIfNotLowIdTick && (::GetTickCount()-newclient->m_dwWouldHaveGottenUploadSlotIfNotLowIdTick) <= uploadingClient->GetUpStartTimeDelay()
) ||
newclient->IsScheduledForRemoval() &&
(
!newclient->GetScheduledUploadShouldKeepWaitingTime()
)
)
)
)
)
) {
foundposition = true;
} else {
insertPosition = pos;
uploadinglist.GetPrev(pos);
posCounter--;
}
}
So sort is:
close to removal --> Collection (Small file slot) --> FriendSlot --> PowerShare + FilePrio --> LowID (?)
#73
Posted 08 November 2005 - 04:45 PM
#74
Posted 08 November 2005 - 05:08 PM
Quote
Yeah... I said that?
#75
Posted 08 November 2005 - 06:07 PM
Lol at the complexity of that sorting.
/zz
#76
Posted 08 November 2005 - 07:23 PM
Wizard said:
#77
Posted 03 May 2006 - 09:21 AM
But in some circumstances – occasional load on the network or my machine perhaps – it still opens too many slots. I have allocated 64 kB/s of bandwidth to eMule and I think it can be divided to at most 5 peers. Unfortunately it is quite common to see like 12 upload connections established. Most ppl here at the forums agree that a fixed number of slots would not be beneficial to the network. How about max number? So in my case eMule would never open more than 6.
I don't think I need USS as I already know I have stable 1 MBit/s. Those occasional speed drops are random and no software can predict them.
This post has been edited by j7n: 03 May 2006 - 09:21 AM
#78
Posted 11 May 2006 - 04:19 AM
j7n, on May 3 2006, 05:21 PM, said:
But in some circumstances – occasional load on the network or my machine perhaps – it still opens too many slots. I have allocated 64 kB/s of bandwidth to eMule and I think it can be divided to at most 5 peers. Unfortunately it is quite common to see like 12 upload connections established. Most ppl here at the forums agree that a fixed number of slots would not be beneficial to the network. How about max number? So in my case eMule would never open more than 6.
I don't think I need USS as I already know I have stable 1 MBit/s. Those occasional speed drops are random and no software can predict them.
I think the algorithm is trying to use all your avaiable upload bandwidth and upload to more clients when some of the clients has a slow connection. As I am using ASDL modem, I just allocated 42kB/s of upload bandwith. ZZUL mod normally provide 5 to 8 upload slot. If there are more clients with LowID, there are more slots are opened. My highest number of upload slots is 14.
#79
Posted 08 August 2006 - 04:04 AM
The question has not been asked for one year, yet :
would it be possible AT LEAST to have this feature in the official clients? It would be awesome...
Aide officielle eMule Tutoriels, Aides diverses et liens utiles >>TADELU<<
Les règles du forum
Ce serait sympa de lire "A lire avant de poster" AVANT de poster, il sert à ça ce post
LENTEUR DES TELECHARGEMENTS : LES RAISONS
#80
Posted 08 August 2006 - 11:58 AM
The extreme limit of wisdom, that is what the public calls madness.