Bitcoin Forum
April 25, 2024, 01:04:16 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 [298] 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 ... 814 »
  Print  
Author Topic: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool  (Read 2591624 times)
Boing7898
Sr. Member
****
Offline Offline

Activity: 686
Merit: 259



View Profile
July 02, 2013, 12:30:18 PM
 #5941

in command line:
ulimit -n 8192
and run p2pool

and check later if errors show.

Open files in linux-like system is also opened connections.


I edited /etc/security/limits.conf with limits of 10000 and I've been running p2pool for nearly 3 hours without a crash.
Weird though, because before I upgraded p2pool it was working, even with the limit set at 1024. Maybe it's because more users joined my pool?
Who knows.  Huh
1714007056
Hero Member
*
Offline Offline

Posts: 1714007056

View Profile Personal Message (Offline)

Ignore
1714007056
Reply with quote  #2

1714007056
Report to moderator
1714007056
Hero Member
*
Offline Offline

Posts: 1714007056

View Profile Personal Message (Offline)

Ignore
1714007056
Reply with quote  #2

1714007056
Report to moderator
Remember that Bitcoin is still beta software. Don't put all of your money into BTC!
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
daemondazz
Sr. Member
****
Offline Offline

Activity: 448
Merit: 250



View Profile
July 02, 2013, 01:00:41 PM
 #5942

Oh.. is there a way to block Litecoin addresses/miners? It's just spamming the console.

I think it would actually be a good idea to block all users that are not a valid address for the network except for whitelisted exceptions (eg, my miners are xxx.worker1, xxx.worker2, etc). This way someone can't get upset if they use an invalid username and hence donate their hashrate to their host.

This would mean bitcoin addresses on bitcoin nodes, litecoin addresses on litecoin nodes, etc. Should be an easy enough thing to add using the 'validateaddress' RPC command.

Computers, Amateur Radio, Electronics, Aviation - 1dazzrAbMqNu6cUwh2dtYckNygG7jKs8S
centove
Full Member
***
Offline Offline

Activity: 194
Merit: 100


View Profile
July 02, 2013, 01:19:10 PM
 #5943

in command line:
ulimit -n 8192
and run p2pool

and check later if errors show.

Open files in linux-like system is also opened connections.


I edited /etc/security/limits.conf with limits of 10000 and I've been running p2pool for nearly 3 hours without a crash.
Weird though, because before I upgraded p2pool it was working, even with the limit set at 1024. Maybe it's because more users joined my pool?
Who knows.  Huh
Code:
$ lsof -c python | wc -l

On the node will tell you how many files p2pool has opened.

Give me Btc: 1BRkf5bwSVdGCyvu4SyYBiJjEjbNiAQoYd Mine on my node: http://ask.gxsnmp.org:9332/
Boing7898
Sr. Member
****
Offline Offline

Activity: 686
Merit: 259



View Profile
July 02, 2013, 02:11:18 PM
 #5944

in command line:
ulimit -n 8192
and run p2pool

and check later if errors show.

Open files in linux-like system is also opened connections.


I edited /etc/security/limits.conf with limits of 10000 and I've been running p2pool for nearly 3 hours without a crash.
Weird though, because before I upgraded p2pool it was working, even with the limit set at 1024. Maybe it's because more users joined my pool?
Who knows.  Huh
Code:
$ lsof -c python | wc -l

On the node will tell you how many files p2pool has opened.
1494 files, wow.
That's why it was crashing, the limit was at 1024 before.
Thanks for the tip!
centove
Full Member
***
Offline Offline

Activity: 194
Merit: 100


View Profile
July 02, 2013, 02:22:31 PM
 #5945

in command line:
ulimit -n 8192
and run p2pool

and check later if errors show.

Open files in linux-like system is also opened connections.


I edited /etc/security/limits.conf with limits of 10000 and I've been running p2pool for nearly 3 hours without a crash.
Weird though, because before I upgraded p2pool it was working, even with the limit set at 1024. Maybe it's because more users joined my pool?
Who knows.  Huh
Code:
$ lsof -c python | wc -l

On the node will tell you how many files p2pool has opened.
1494 files, wow.
That's why it was crashing, the limit was at 1024 before.
Thanks for the tip!

Code:
$ lsof -c python -a -i :9332 | wc -l  (miners should be 2xminers -1 )
$ lsof -c python -a -i :9333 | wc -l  (peers 2x -1 )

Give me Btc: 1BRkf5bwSVdGCyvu4SyYBiJjEjbNiAQoYd Mine on my node: http://ask.gxsnmp.org:9332/
maqifrnswa
Sr. Member
****
Offline Offline

Activity: 454
Merit: 250


View Profile
July 02, 2013, 08:59:22 PM
 #5946

I got my BFL 5 GHz miner running for one day on p2pool. Here are the results:
Summary:
Efficiency: ~100.2% (85-110%)
DOA=18.9%

p2pool output:
2013-07-02 11:51:04.571723  Local: 5039MH/s in last 10.0 minutes Local dead on arrival: ~18.2% (7-39%) Expected time to share: 20.5 minutes
2013-07-02 11:51:04.571962  Shares: 54 (3 orphan, 6 dead) Stale rate: ~16.7% (9-29%) Efficiency: ~100.2% (85-110%) Current payout: 0.1395 BTC
2013-07-02 11:51:04.572268  Pool: 793GH/s Stale rate: 16.9% Expected time to block: 1.3 days


cgminer output:
--------------------------------------------------------------------------------
 (5s):5.408G (avg):5.063Gh/s | A:87607  R:20448  HW:65  WU:70.6/m
 ST: 2  SS: 1  NB: 158  LW: 266781  GF: 1  RF: 0
 Connected to XXX diff 32 with stratum as user raspberrypi+32
 Block: 00a7e1d7004f984f...  Diff:21.3M  Started: [16:15:03]  Best share: 33.3K
--------------------------------------------------------------------------------
 [P]ool management Settings [D]isplay options [Q]uit
 BAJ 0:  max 45C 3.81V | 5.279G/5.063Gh/s | A:87607 R:20448 HW:65 WU:  70.6/m
--------------------------------------------------------------------------------


Stock firmware (version 1.0.0), 1 job per board, no extra cooling or modifications.

cgminer API stats:
DEVICE: BitFORCE SC
FIRMWARE: 1.0.0
MINIG SPEED: 5.26 GH/s
PROCESSOR 3: 15 engines @ 183 MHz
PROCESSOR 7: 14 engines @ 183 MHz
ENGINES: 29
FREQUENCY: 189 MHz
XLINK MODE: MASTER
CRITICAL TEMPERATURE:
XLINK PRESENT: NO
OK
forrestv (OP)
Hero Member
*****
Offline Offline

Activity: 516
Merit: 643


View Profile
July 03, 2013, 12:28:07 AM
 #5947

in command line:
ulimit -n 8192
and run p2pool

and check later if errors show.

Open files in linux-like system is also opened connections.


I edited /etc/security/limits.conf with limits of 10000 and I've been running p2pool for nearly 3 hours without a crash.
Weird though, because before I upgraded p2pool it was working, even with the limit set at 1024. Maybe it's because more users joined my pool?
Who knows.  Huh
Code:
$ lsof -c python | wc -l

On the node will tell you how many files p2pool has opened.
1494 files, wow.
That's why it was crashing, the limit was at 1024 before.
Thanks for the tip!

Can you do instead, replacing P2POOL_PID with run_p2pool.py's PID,
Code:
$ lsof -p P2POOL_PID
and pastebin the output and send it to me? P2Pool shouldn't be using that many files - seeing which it has open could help find the issue.

1J1zegkNSbwX4smvTdoHSanUfwvXFeuV23
GrapeApe
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250



View Profile
July 03, 2013, 09:13:45 PM
 #5948

I am mining at 220 MH/s, are there any reasons why I shouldn’t raise my  difficulty? If I were to put it at 512 would this have any negative impact on my side? It's just less traffic right? I already know this doesn’t change my chances of finding a share of the required difficulty. I'm just wondering what happens on my end.
bitpop
Legendary
*
Offline Offline

Activity: 2912
Merit: 1060



View Profile WWW
July 03, 2013, 09:34:57 PM
 #5949

Is it true if you set it too high and not get a share in a round, it basically liked like you weren't there?

baloo_kiev
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


View Profile
July 03, 2013, 10:12:23 PM
 #5950

I am mining at 220 MH/s, are there any reasons why I shouldn’t raise my  difficulty? If I were to put it at 512 would this have any negative impact on my side? It's just less traffic right? I already know this doesn’t change my chances of finding a share of the required difficulty. I'm just wondering what happens on my end.

At that hashrate, you probably don't want to increase difficulty. It will not significantly change network load but will increase income variance.

PGP: 6EC48BA7
Welcome to my p2pool: BTC
GrapeApe
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250



View Profile
July 03, 2013, 10:34:18 PM
 #5951

I am mining at 220 MH/s, are there any reasons why I shouldn’t raise my  difficulty? If I were to put it at 512 would this have any negative impact on my side? It's just less traffic right? I already know this doesn’t change my chances of finding a share of the required difficulty. I'm just wondering what happens on my end.

At that hashrate, you probably don't want to increase difficulty. It will not significantly change network load but will increase income variance.
This gets to the crux of my question. How or why would it increase income variance at a pool like p2pool where we are looking for high difficulty shares. I'm not disagreeing with you, I'm asking why? Do we need to submit these lower diff shares for some reason?
baloo_kiev
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


View Profile
July 03, 2013, 10:56:14 PM
 #5952

I am mining at 220 MH/s, are there any reasons why I shouldn’t raise my  difficulty? If I were to put it at 512 would this have any negative impact on my side? It's just less traffic right? I already know this doesn’t change my chances of finding a share of the required difficulty. I'm just wondering what happens on my end.

At that hashrate, you probably don't want to increase difficulty. It will not significantly change network load but will increase income variance.
This gets to the crux of my question. How or why would it increase income variance at a pool like p2pool where we are looking for high difficulty shares. I'm not disagreeing with you, I'm asking why? Do we need to submit these lower diff shares for some reason?

At 220MH/s estimated time to share is 8 hours. For instance, that means that there's 5% probability of not finding any shares for 24 hours. For two week period, your estimated number of shares is 42, and there's 5% probability to find 31 or less shares, which means only 75% of estimated income. Of course, this also works in positive direction, and your income may be higher than estimated as well. Now if you increase your share difficulty, this variation will be even higher. If you are not a gambler, you want stable income.

When mining in p2pool, your income variance depends on both pool's blockrate variance and your own sharerate variance. For details see my post here https://bitcointalk.org/index.php?topic=18313.msg2060914#msg2060914

PGP: 6EC48BA7
Welcome to my p2pool: BTC
GrapeApe
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250



View Profile
July 03, 2013, 11:32:00 PM
 #5953

I am mining at 220 MH/s, are there any reasons why I shouldn’t raise my  difficulty? If I were to put it at 512 would this have any negative impact on my side? It's just less traffic right? I already know this doesn’t change my chances of finding a share of the required difficulty. I'm just wondering what happens on my end.

At that hashrate, you probably don't want to increase difficulty. It will not significantly change network load but will increase income variance.
This gets to the crux of my question. How or why would it increase income variance at a pool like p2pool where we are looking for high difficulty shares. I'm not disagreeing with you, I'm asking why? Do we need to submit these lower diff shares for some reason?

At 220MH/s estimated time to share is 8 hours. For instance, that means that there's 5% probability of not finding any shares for 24 hours. For two week period, your estimated number of shares is 42, and there's 5% probability to find 31 or less shares, which means only 75% of estimated income. Of course, this also works in positive direction, and your income may be higher than estimated as well. Now if you increase your share difficulty, this variation will be even higher. If you are not a gambler, you want stable income.

When mining in p2pool, your income variance depends on both pool's blockrate variance and your own sharerate variance. For details see my post here https://bitcointalk.org/index.php?topic=18313.msg2060914#msg2060914
I guess the only thing I would disagree with you about would be that when I change local diff my time to share goes up. The p2pool estimated time to share only goes up because I'm submitting less shares no? It's not a real measurement of hash speed. Doesn’t the work I’m doing locally stay the same I just submit less garbage.
daemondazz
Sr. Member
****
Offline Offline

Activity: 448
Merit: 250



View Profile
July 04, 2013, 12:26:09 AM
 #5954

I guess the only thing I would disagree with you about would be that when I change local diff my time to share goes up. The p2pool estimated time to share only goes up because I'm submitting less shares no? It's not a real measurement of hash speed. Doesn’t the work I’m doing locally stay the same I just submit less garbage.

If you double the difficulty then you half the number of shares you submit, but each share is worth double. Because you're submitting less shares, the variance you will see will increase.

Computers, Amateur Radio, Electronics, Aviation - 1dazzrAbMqNu6cUwh2dtYckNygG7jKs8S
zvs
Legendary
*
Offline Offline

Activity: 1680
Merit: 1000


https://web.archive.org/web/*/nogleg.com


View Profile WWW
July 04, 2013, 12:30:42 PM
 #5955

i just turned my stuff back to p2pool for a final hurrah i suppose you could say, before i shut everything down

but doesn't anyone find it concerning that someone has 33% of the hashrate?  i also was unable to locate the IP address of this person, so they're probably behind a firewall, without many outgoing connections, judging from the other nodes I checked (IP address reported as relaying their share is quite a spread)

just found it curious since i've gotten 2 orphans out of 6 already,  both because of the double share from 1Nasty

although i guess it could be partally attributed to using a US server
mdude77
Legendary
*
Offline Offline

Activity: 1540
Merit: 1001



View Profile
July 04, 2013, 12:34:59 PM
 #5956

i just turned my stuff back to p2pool for a final hurrah i suppose you could say, before i shut everything down

but doesn't anyone find it concerning that someone has 33% of the hashrate?  i also was unable to locate the IP address of this person, so they're probably behind a firewall, without many outgoing connections, judging from the other nodes I checked (IP address reported as relaying their share is quite a spread)

just found it curious since i've gotten 2 orphans out of 6 already,  both because of the double share from 1Nasty

although i guess it could be partally attributed to using a US server

Why would it be disconcerting?  p2pool is really small.  there are filthy rich miners who have more than the entire hash rate of p2pool.

M

I mine at Kano's Pool because it pays the best and is completely transparent!  Come join me!
zvs
Legendary
*
Offline Offline

Activity: 1680
Merit: 1000


https://web.archive.org/web/*/nogleg.com


View Profile WWW
July 04, 2013, 12:36:13 PM
 #5957

I am mining at 220 MH/s, are there any reasons why I shouldn’t raise my  difficulty? If I were to put it at 512 would this have any negative impact on my side? It's just less traffic right? I already know this doesn’t change my chances of finding a share of the required difficulty. I'm just wondering what happens on my end.

At that hashrate, you probably don't want to increase difficulty. It will not significantly change network load but will increase income variance.
This gets to the crux of my question. How or why would it increase income variance at a pool like p2pool where we are looking for high difficulty shares. I'm not disagreeing with you, I'm asking why? Do we need to submit these lower diff shares for some reason?

At 220MH/s estimated time to share is 8 hours. For instance, that means that there's 5% probability of not finding any shares for 24 hours. For two week period, your estimated number of shares is 42, and there's 5% probability to find 31 or less shares, which means only 75% of estimated income. Of course, this also works in positive direction, and your income may be higher than estimated as well. Now if you increase your share difficulty, this variation will be even higher. If you are not a gambler, you want stable income.

When mining in p2pool, your income variance depends on both pool's blockrate variance and your own sharerate variance. For details see my post here https://bitcointalk.org/index.php?topic=18313.msg2060914#msg2060914
I guess the only thing I would disagree with you about would be that when I change local diff my time to share goes up. The p2pool estimated time to share only goes up because I'm submitting less shares no? It's not a real measurement of hash speed. Doesn’t the work I’m doing locally stay the same I just submit less garbage.

the answer to your question is

no, it wouldn't change anything, unless this amount was higher than the share difficulty

i.e. MrT/500+500, wouldnt matter.  MrT+2000 would, if the share difficulty was under 2000

the hash rate reported on your stats will be bizarre (that's what it uses those small ones for), but in the grand scheme of things you'd still get just as many shares
zvs
Legendary
*
Offline Offline

Activity: 1680
Merit: 1000


https://web.archive.org/web/*/nogleg.com


View Profile WWW
July 04, 2013, 12:37:32 PM
 #5958

i just turned my stuff back to p2pool for a final hurrah i suppose you could say, before i shut everything down

but doesn't anyone find it concerning that someone has 33% of the hashrate?  i also was unable to locate the IP address of this person, so they're probably behind a firewall, without many outgoing connections, judging from the other nodes I checked (IP address reported as relaying their share is quite a spread)

just found it curious since i've gotten 2 orphans out of 6 already,  both because of the double share from 1Nasty

although i guess it could be partally attributed to using a US server

Why would it be disconcerting?  p2pool is really small.  there are filthy rich miners who have more than the entire hash rate of p2pool.

M
because it decreases efficiency of other people using p2pool when someone is using inefficient connection and is able to put out 33% of hashrate?

does it need further explaining?

ok, so i just decided to check the headers for the hell of it

P2Pool > Share 9c6eb9d6
Parent: ded30170
Time first seen: Thu Jul 04 2013 07:36:10 GMT-0500 (Central Daylight Time) (1372941370.955215)
Payout address: 1MAv44YHbeh9mt3tHUdxDqG7J8acjA9byh

trumped by:

P2Pool > Share ff119beb
Parent: ded30170
Time first seen: Thu Jul 04 2013 07:36:11 GMT-0500 (Central Daylight Time) (1372941371.258362)
Payout address: 1NastyFRkeUTmMdbMmzggDVTQA6r3ibUoX

P2Pool > Share e82be749
Parent: ff119beb
Time first seen: Thu Jul 04 2013 07:36:13 GMT-0500 (Central Daylight Time) (1372941373.962954)
Payout address: 1NastyFRkeUTmMdbMmzggDVTQA6r3ibUoX

so 1 out of 4 headers that happened to be shown
mdude77
Legendary
*
Offline Offline

Activity: 1540
Merit: 1001



View Profile
July 04, 2013, 12:47:53 PM
 #5959

i just turned my stuff back to p2pool for a final hurrah i suppose you could say, before i shut everything down

but doesn't anyone find it concerning that someone has 33% of the hashrate?  i also was unable to locate the IP address of this person, so they're probably behind a firewall, without many outgoing connections, judging from the other nodes I checked (IP address reported as relaying their share is quite a spread)

just found it curious since i've gotten 2 orphans out of 6 already,  both because of the double share from 1Nasty

although i guess it could be partally attributed to using a US server

Why would it be disconcerting?  p2pool is really small.  there are filthy rich miners who have more than the entire hash rate of p2pool.

M
because it decreases efficiency of other people using p2pool when someone is using inefficient connection and is able to put out 33% of hashrate?

does it need further explaining?

This seems like a problem with p2pool, not with the miner.  We want more hashrate, but not too much in one spot?

M

I mine at Kano's Pool because it pays the best and is completely transparent!  Come join me!
zvs
Legendary
*
Offline Offline

Activity: 1680
Merit: 1000


https://web.archive.org/web/*/nogleg.com


View Profile WWW
July 04, 2013, 01:05:49 PM
Last edit: July 04, 2013, 01:20:03 PM by zvs
 #5960

two more examples, checking .. 10 minutes later, i guess

P2Pool > Share cf9f191e
Parent: c3435999
Time first seen: Thu Jul 04 2013 07:58:03 GMT-0500 (Central Daylight Time) (1372942683.824745)
Payout address: 1CdYbiq38Qaah942iZHiRBJGeDpPbzBVnQ

orphaned by:

P2Pool > Share 0381e766
Parent: c3435999
Time first seen: Thu Jul 04 2013 07:58:05 GMT-0500 (Central Daylight Time) (1372942685.644919)
Payout address: 1NastyFRkeUTmMdbMmzggDVTQA6r3ibUoX

P2Pool > Share ceb6366f
Parent: 0381e766
Time first seen: Thu Jul 04 2013 07:58:13 GMT-0500 (Central Daylight Time) (1372942693.886554)
Payout address: 1NastyFRkeUTmMdbMmzggDVTQA6r3ibUoX

and

P2Pool > Share d910f792
Parent: c3435999
Time first seen: Thu Jul 04 2013 07:58:04 GMT-0500 (Central Daylight Time) (1372942684.812593)
Payout address: 1MAv44YHbeh9mt3tHUdxDqG7J8acjA9byh

orphaned by:

P2Pool > Share 0381e766
Parent: c3435999
Time first seen: Thu Jul 04 2013 07:58:05 GMT-0500 (Central Daylight Time) (1372942685.644919)
Payout address: 1NastyFRkeUTmMdbMmzggDVTQA6r3ibUoX

P2Pool > Share ceb6366f
Parent: 0381e766
Time first seen: Thu Jul 04 2013 07:58:13 GMT-0500 (Central Daylight Time) (1372942693.886554)
Payout address: 1NastyFRkeUTmMdbMmzggDVTQA6r3ibUoX

...

well, the one share every 30 seconds would help.  should be implemented asap

and two seconds is a long time

*************

ed: i dunno, 5 minutes later?

P2Pool > Share 62cb0c45
Parent: f5b92a74
Time first seen: Thu Jul 04 2013 08:14:00 GMT-0500 (Central Daylight Time) (1372943640.972359)
Payout address: 1GLJUmBLH83dbEj5GvbFTyhsJrjUaFV1jH

orphaned by (6 seconds, lol):

P2Pool > Share 7b374ec9
Parent: f5b92a74
Time first seen: Thu Jul 04 2013 08:14:06 GMT-0500 (Central Daylight Time) (1372943646.213323)
Payout address: 1NastyFRkeUTmMdbMmzggDVTQA6r3ibUoX

P2Pool > Share 3d593a0f
Parent: 7b374ec9
Time first seen: Thu Jul 04 2013 08:14:06 GMT-0500 (Central Daylight Time) (1372943646.210475)
Payout address: 1NastyFRkeUTmMdbMmzggDVTQA6r3ibUoX

and

P2Pool > Share 0928924a
Parent: 095962f9
Time first seen: Thu Jul 04 2013 08:12:24 GMT-0500 (Central Daylight Time) (1372943544.504013)
Payout address: 1GPFgDFABseWT1Mp8J7pxQkNooKrKmKNHb

orphaned by (this one should have been DOA anyway, but just including it since it would have been orphaned regardless):

P2Pool > Share b7be01ca
Parent: 095962f9
Time first seen: Thu Jul 04 2013 08:12:23 GMT-0500 (Central Daylight Time) (1372943543.308732)
Payout address: 1NastyFRkeUTmMdbMmzggDVTQA6r3ibUoX

P2Pool > Share f5a3278b
Parent: b7be01ca
Time first seen: Thu Jul 04 2013 08:12:44 GMT-0500 (Central Daylight Time) (1372943564.581696)
Payout address: 1NastyFRkeUTmMdbMmzggDVTQA6r3ibUoX

..

check the verified heads, you'll probably find at least one

ah, 15 minutes later.
Pages: « 1 ... 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 [298] 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 ... 814 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!